*,
::before,
::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/*
! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

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

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

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

html,
:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
  tab-size: 4;
  /* 3 */
  font-family:
    ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

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

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

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

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

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

b,
strong {
  font-weight: bolder;
}

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

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

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

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

/*
Set the default cursor for buttons.
*/

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

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

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

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

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

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

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden='until-found'])) {
  display: none;
}

.\!container {
  width: 100% !important;
}

.container {
  width: 100%;
}

@media (min-width: 640px) {
  .\!container {
    max-width: 640px !important;
  }

  .container {
    max-width: 640px;
  }
}

@media (min-width: 768px) {
  .\!container {
    max-width: 768px !important;
  }

  .container {
    max-width: 768px;
  }
}

@media (min-width: 1024px) {
  .\!container {
    max-width: 1024px !important;
  }

  .container {
    max-width: 1024px;
  }
}

@media (min-width: 1280px) {
  .\!container {
    max-width: 1280px !important;
  }

  .container {
    max-width: 1280px;
  }
}

@media (min-width: 1536px) {
  .\!container {
    max-width: 1536px !important;
  }

  .container {
    max-width: 1536px;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

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

.\!visible {
  visibility: visible !important;
}

.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.collapse {
  visibility: collapse;
}

.static {
  position: static;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.inset-0 {
  inset: 0px;
}

.bottom-0 {
  bottom: 0px;
}

.bottom-4 {
  bottom: 1rem;
}

.left-0 {
  left: 0px;
}

.left-1\/2 {
  left: 50%;
}

.left-3 {
  left: 0.75rem;
}

.left-4 {
  left: 1rem;
}

.left-\[22\%\] {
  left: 22%;
}

.left-\[30\%\] {
  left: 30%;
}

.left-\[58\%\] {
  left: 58%;
}

.left-\[65\%\] {
  left: 65%;
}

.left-\[72\%\] {
  left: 72%;
}

.right-0 {
  right: 0px;
}

.right-3 {
  right: 0.75rem;
}

.right-4 {
  right: 1rem;
}

.top-0 {
  top: 0px;
}

.top-1\/2 {
  top: 50%;
}

.top-4 {
  top: 1rem;
}

.top-\[22\%\] {
  top: 22%;
}

.top-\[30\%\] {
  top: 30%;
}

.top-\[38\%\] {
  top: 38%;
}

.top-\[60\%\] {
  top: 60%;
}

.top-\[70\%\] {
  top: 70%;
}

.z-10 {
  z-index: 10;
}

.z-20 {
  z-index: 20;
}

.z-50 {
  z-index: 50;
}

.order-2 {
  order: 2;
}

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

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-1\.5 {
  margin-bottom: 0.375rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

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

.mb-4 {
  margin-bottom: 1rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.ml-1 {
  margin-left: 0.25rem;
}

.ml-2 {
  margin-left: 0.5rem;
}

.ml-4 {
  margin-left: 1rem;
}

.ml-auto {
  margin-left: auto;
}

.mt-0\.5 {
  margin-top: 0.125rem;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mt-1\.5 {
  margin-top: 0.375rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-3 {
  margin-top: 0.75rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.mt-auto {
  margin-top: auto;
}

.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.\!block {
  display: block !important;
}

.block {
  display: block;
}

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

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.table {
  display: table;
}

.\!grid {
  display: grid !important;
}

.grid {
  display: grid;
}

.contents {
  display: contents;
}

.hidden {
  display: none;
}

.h-1 {
  height: 0.25rem;
}

.h-1\.5 {
  height: 0.375rem;
}

.h-10 {
  height: 2.5rem;
}

.h-12 {
  height: 3rem;
}

.h-14 {
  height: 3.5rem;
}

.h-16 {
  height: 4rem;
}

.h-2 {
  height: 0.5rem;
}

.h-20 {
  height: 5rem;
}

.h-3 {
  height: 0.75rem;
}

.h-4 {
  height: 1rem;
}

.h-5 {
  height: 1.25rem;
}

.h-6 {
  height: 1.5rem;
}

.h-7 {
  height: 1.75rem;
}

.h-8 {
  height: 2rem;
}

.h-9 {
  height: 2.25rem;
}

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

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

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

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

.h-full {
  height: 100%;
}

.h-px {
  height: 1px;
}

.h-screen {
  height: 100vh;
}

.min-h-screen {
  min-height: 100vh;
}

.w-1\.5 {
  width: 0.375rem;
}

.w-1\/2 {
  width: 50%;
}

.w-10 {
  width: 2.5rem;
}

.w-12 {
  width: 3rem;
}

.w-14 {
  width: 3.5rem;
}

.w-16 {
  width: 4rem;
}

.w-2 {
  width: 0.5rem;
}

.w-20 {
  width: 5rem;
}

.w-24 {
  width: 6rem;
}

.w-28 {
  width: 7rem;
}

.w-3 {
  width: 0.75rem;
}

.w-32 {
  width: 8rem;
}

.w-4 {
  width: 1rem;
}

.w-48 {
  width: 12rem;
}

.w-5 {
  width: 1.25rem;
}

.w-56 {
  width: 14rem;
}

.w-6 {
  width: 1.5rem;
}

.w-64 {
  width: 16rem;
}

.w-7 {
  width: 1.75rem;
}

.w-8 {
  width: 2rem;
}

.w-80 {
  width: 20rem;
}

.w-9 {
  width: 2.25rem;
}

.w-\[200px\] {
  width: 200px;
}

.w-\[350px\] {
  width: 350px;
}

.w-\[500px\] {
  width: 500px;
}

.w-full {
  width: 100%;
}

.min-w-0 {
  min-width: 0px;
}

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

.max-w-md {
  max-width: 28rem;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-shrink {
  flex-shrink: 1;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.shrink-0 {
  flex-shrink: 0;
}

.flex-grow {
  flex-grow: 1;
}

.grow {
  flex-grow: 1;
}

.border-collapse {
  border-collapse: collapse;
}

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
    skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
    skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
    skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-5 {
  --tw-translate-x: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
    skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-full {
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
    skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-y-full {
  --tw-translate-y: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
    skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-90 {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
    skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
    skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.animate-spin {
  animation: spin 1s linear infinite;
}

.cursor-pointer {
  cursor: pointer;
}

.resize {
  resize: both;
}

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

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

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

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

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

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

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

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

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

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

.items-end {
  align-items: flex-end;
}

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

.items-baseline {
  align-items: baseline;
}

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

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

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

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

.gap-1 {
  gap: 0.25rem;
}

.gap-1\.5 {
  gap: 0.375rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-8 {
  gap: 2rem;
}

.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}

.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}

.divide-gray-700\/50 > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(55 65 81 / 0.5);
}

.overflow-auto {
  overflow: auto;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-y-auto {
  overflow-y: auto;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.whitespace-pre-wrap {
  white-space: pre-wrap;
}

.text-wrap {
  text-wrap: wrap;
}

.break-words {
  overflow-wrap: break-word;
}

.rounded {
  border-radius: 0.25rem;
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-lg {
  border-radius: 0.5rem;
}

.rounded-md {
  border-radius: 0.375rem;
}

.rounded-xl {
  border-radius: 0.75rem;
}

.rounded-t {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

.border {
  border-width: 1px;
}

.border-2 {
  border-width: 2px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-l {
  border-left-width: 1px;
}

.border-l-2 {
  border-left-width: 2px;
}

.border-r {
  border-right-width: 1px;
}

.border-t {
  border-top-width: 1px;
}

.border-dashed {
  border-style: dashed;
}

.border-amber-500\/20 {
  border-color: rgb(245 158 11 / 0.2);
}

.border-amber-500\/30 {
  border-color: rgb(245 158 11 / 0.3);
}

.border-blue-500 {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}

.border-blue-500\/20 {
  border-color: rgb(59 130 246 / 0.2);
}

.border-blue-500\/30 {
  border-color: rgb(59 130 246 / 0.3);
}

.border-emerald-500\/20 {
  border-color: rgb(16 185 129 / 0.2);
}

.border-emerald-500\/30 {
  border-color: rgb(16 185 129 / 0.3);
}

.border-gray-700 {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.border-gray-700\/30 {
  border-color: rgb(55 65 81 / 0.3);
}

.border-gray-700\/50 {
  border-color: rgb(55 65 81 / 0.5);
}

.border-gray-800 {
  --tw-border-opacity: 1;
  border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
}

.border-red-500\/20 {
  border-color: rgb(239 68 68 / 0.2);
}

.border-red-500\/30 {
  border-color: rgb(239 68 68 / 0.3);
}

.border-teal-400\/50 {
  border-color: rgb(45 212 191 / 0.5);
}

.border-teal-500\/20 {
  border-color: rgb(20 184 166 / 0.2);
}

.border-teal-500\/30 {
  border-color: rgb(20 184 166 / 0.3);
}

.border-teal-500\/40 {
  border-color: rgb(20 184 166 / 0.4);
}

.border-teal-500\/50 {
  border-color: rgb(20 184 166 / 0.5);
}

.border-zinc-700 {
  --tw-border-opacity: 1;
  border-color: rgb(63 63 70 / var(--tw-border-opacity, 1));
}

.border-zinc-800 {
  --tw-border-opacity: 1;
  border-color: rgb(39 39 42 / var(--tw-border-opacity, 1));
}

.border-zinc-800\/30 {
  border-color: rgb(39 39 42 / 0.3);
}

.border-zinc-800\/50 {
  border-color: rgb(39 39 42 / 0.5);
}

.border-t-transparent {
  border-top-color: transparent;
}

.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}

.bg-amber-500\/10 {
  background-color: rgb(245 158 11 / 0.1);
}

.bg-amber-500\/20 {
  background-color: rgb(245 158 11 / 0.2);
}

.bg-amber-500\/5 {
  background-color: rgb(245 158 11 / 0.05);
}

.bg-amber-500\/80 {
  background-color: rgb(245 158 11 / 0.8);
}

.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}

.bg-black\/20 {
  background-color: rgb(0 0 0 / 0.2);
}

.bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}

.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}

.bg-black\/90 {
  background-color: rgb(0 0 0 / 0.9);
}

.bg-blue-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}

.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}

.bg-blue-500\/10 {
  background-color: rgb(59 130 246 / 0.1);
}

.bg-blue-500\/20 {
  background-color: rgb(59 130 246 / 0.2);
}

.bg-blue-500\/5 {
  background-color: rgb(59 130 246 / 0.05);
}

.bg-blue-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(30 58 138 / var(--tw-bg-opacity, 1));
}

.bg-blue-900\/30 {
  background-color: rgb(30 58 138 / 0.3);
}

.bg-emerald-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}

.bg-emerald-500\/10 {
  background-color: rgb(16 185 129 / 0.1);
}

.bg-emerald-500\/20 {
  background-color: rgb(16 185 129 / 0.2);
}

.bg-emerald-500\/5 {
  background-color: rgb(16 185 129 / 0.05);
}

.bg-emerald-500\/50 {
  background-color: rgb(16 185 129 / 0.5);
}

.bg-emerald-500\/80 {
  background-color: rgb(16 185 129 / 0.8);
}

.bg-gray-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.bg-gray-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.bg-gray-700\/30 {
  background-color: rgb(55 65 81 / 0.3);
}

.bg-gray-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.bg-gray-800\/50 {
  background-color: rgb(31 41 55 / 0.5);
}

.bg-gray-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.bg-gray-900\/50 {
  background-color: rgb(17 24 39 / 0.5);
}

.bg-gray-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(10 10 15 / var(--tw-bg-opacity, 1));
}

.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}

.bg-green-900\/30 {
  background-color: rgb(20 83 45 / 0.3);
}

.bg-indigo-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

.bg-purple-900\/30 {
  background-color: rgb(88 28 135 / 0.3);
}

.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.bg-red-500\/10 {
  background-color: rgb(239 68 68 / 0.1);
}

.bg-red-500\/20 {
  background-color: rgb(239 68 68 / 0.2);
}

.bg-red-500\/5 {
  background-color: rgb(239 68 68 / 0.05);
}

.bg-red-500\/80 {
  background-color: rgb(239 68 68 / 0.8);
}

.bg-teal-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / var(--tw-bg-opacity, 1));
}

.bg-teal-500\/10 {
  background-color: rgb(20 184 166 / 0.1);
}

.bg-teal-500\/20 {
  background-color: rgb(20 184 166 / 0.2);
}

.bg-teal-500\/5 {
  background-color: rgb(20 184 166 / 0.05);
}

.bg-transparent {
  background-color: transparent;
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}

.bg-zinc-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(113 113 122 / var(--tw-bg-opacity, 1));
}

.bg-zinc-500\/10 {
  background-color: rgb(113 113 122 / 0.1);
}

.bg-zinc-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(82 82 91 / var(--tw-bg-opacity, 1));
}

.bg-zinc-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(63 63 70 / var(--tw-bg-opacity, 1));
}

.bg-zinc-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1));
}

.bg-zinc-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(24 24 27 / var(--tw-bg-opacity, 1));
}

.bg-zinc-900\/10 {
  background-color: rgb(24 24 27 / 0.1);
}

.bg-zinc-900\/30 {
  background-color: rgb(24 24 27 / 0.3);
}

.bg-zinc-900\/50 {
  background-color: rgb(24 24 27 / 0.5);
}

.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.from-amber-500 {
  --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-amber-500\/10 {
  --tw-gradient-from: rgb(245 158 11 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-500 {
  --tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-600 {
  --tw-gradient-from: #4b5563 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(75 85 99 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-teal-500 {
  --tw-gradient-from: #14b8a6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 184 166 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-transparent {
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.via-emerald-400\/50 {
  --tw-gradient-to: rgb(52 211 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops:
    var(--tw-gradient-from), rgb(52 211 153 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.to-amber-400 {
  --tw-gradient-to: #fbbf24 var(--tw-gradient-to-position);
}

.to-emerald-500 {
  --tw-gradient-to: #10b981 var(--tw-gradient-to-position);
}

.to-gray-700 {
  --tw-gradient-to: #374151 var(--tw-gradient-to-position);
}

.to-teal-600 {
  --tw-gradient-to: #0d9488 var(--tw-gradient-to-position);
}

.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}

.p-0\.5 {
  padding: 0.125rem;
}

.p-1 {
  padding: 0.25rem;
}

.p-1\.5 {
  padding: 0.375rem;
}

.p-2 {
  padding: 0.5rem;
}

.p-2\.5 {
  padding: 0.625rem;
}

.p-3 {
  padding: 0.75rem;
}

.p-4 {
  padding: 1rem;
}

.p-5 {
  padding: 1.25rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-8 {
  padding: 2rem;
}

.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}

.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

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

.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

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

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

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

.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.pb-1 {
  padding-bottom: 0.25rem;
}

.pb-3 {
  padding-bottom: 0.75rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pl-10 {
  padding-left: 2.5rem;
}

.pl-2 {
  padding-left: 0.5rem;
}

.pl-4 {
  padding-left: 1rem;
}

.pr-4 {
  padding-right: 1rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pt-3 {
  padding-top: 0.75rem;
}

.pt-4 {
  padding-top: 1rem;
}

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

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

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

.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
}

.font-sans {
  font-family:
    ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

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

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

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

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

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

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

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

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

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

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

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

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.font-bold {
  font-weight: 700;
}

.font-medium {
  font-weight: 500;
}

.font-normal {
  font-weight: 400;
}

.font-semibold {
  font-weight: 600;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

.italic {
  font-style: italic;
}

.ordinal {
  --tw-ordinal: ordinal;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing)
    var(--tw-numeric-fraction);
}

.leading-relaxed {
  line-height: 1.625;
}

.leading-tight {
  line-height: 1.25;
}

.tracking-\[0\.04em\] {
  letter-spacing: 0.04em;
}

.tracking-tight {
  letter-spacing: -0.025em;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.tracking-widest {
  letter-spacing: 0.1em;
}

.text-amber-300 {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}

.text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}

.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.text-blue-200 {
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / var(--tw-text-opacity, 1));
}

.text-blue-300 {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}

.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}

.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}

.text-current {
  color: currentColor;
}

.text-emerald-200\/80 {
  color: rgb(167 243 208 / 0.8);
}

.text-emerald-300 {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}

.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}

.text-emerald-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}

.text-emerald-500\/30 {
  color: rgb(16 185 129 / 0.3);
}

.text-gray-100 {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.text-gray-200 {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.text-green-400\/80 {
  color: rgb(74 222 128 / 0.8);
}

.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.text-green-500\/80 {
  color: rgb(34 197 94 / 0.8);
}

.text-orange-400 {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}

.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.text-red-400\/80 {
  color: rgb(248 113 113 / 0.8);
}

.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.text-red-500\/80 {
  color: rgb(239 68 68 / 0.8);
}

.text-teal-300 {
  --tw-text-opacity: 1;
  color: rgb(94 234 212 / var(--tw-text-opacity, 1));
}

.text-teal-300\/50 {
  color: rgb(94 234 212 / 0.5);
}

.text-teal-400 {
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity, 1));
}

.text-teal-400\/60 {
  color: rgb(45 212 191 / 0.6);
}

.text-teal-500 {
  --tw-text-opacity: 1;
  color: rgb(20 184 166 / var(--tw-text-opacity, 1));
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.text-yellow-300 {
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}

.text-yellow-400 {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

.text-zinc-300 {
  --tw-text-opacity: 1;
  color: rgb(212 212 216 / var(--tw-text-opacity, 1));
}

.text-zinc-400 {
  --tw-text-opacity: 1;
  color: rgb(161 161 170 / var(--tw-text-opacity, 1));
}

.text-zinc-500 {
  --tw-text-opacity: 1;
  color: rgb(113 113 122 / var(--tw-text-opacity, 1));
}

.text-zinc-600 {
  --tw-text-opacity: 1;
  color: rgb(82 82 91 / var(--tw-text-opacity, 1));
}

.text-zinc-700 {
  --tw-text-opacity: 1;
  color: rgb(63 63 70 / var(--tw-text-opacity, 1));
}

.line-through {
  text-decoration-line: line-through;
}

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.placeholder-gray-500::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-500::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.placeholder-zinc-600::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(82 82 91 / var(--tw-placeholder-opacity, 1));
}

.placeholder-zinc-600::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(82 82 91 / var(--tw-placeholder-opacity, 1));
}

.opacity-0 {
  opacity: 0;
}

.opacity-10 {
  opacity: 0.1;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-70 {
  opacity: 0.7;
}

.opacity-80 {
  opacity: 0.8;
}

.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_0_40px_rgba\(255\2c 255\2c 255\2c 0\.4\)\] {
  --tw-shadow: 0 0 40px rgba(255, 255, 255, 0.4);
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_0_8px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-indigo-900\/20 {
  --tw-shadow-color: rgb(49 46 129 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

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

.outline {
  outline-style: solid;
}

.\!ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important;
}

.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-blue-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}

.ring-teal-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(20 184 166 / var(--tw-ring-opacity, 1));
}

.ring-zinc-700 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(63 63 70 / var(--tw-ring-opacity, 1));
}

.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate)
    var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate)
    var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.grayscale {
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate)
    var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate)
    var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate)
    var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast)
    var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity)
    var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast)
    var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity)
    var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast)
    var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity)
    var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast)
    var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity)
    var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-filter {
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast)
    var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity)
    var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast)
    var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity)
    var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.transition {
  transition-property:
    color,
    background-color,
    border-color,
    text-decoration-color,
    fill,
    stroke,
    opacity,
    box-shadow,
    transform,
    filter,
    -webkit-backdrop-filter;
  transition-property:
    color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter,
    backdrop-filter;
  transition-property:
    color,
    background-color,
    border-color,
    text-decoration-color,
    fill,
    stroke,
    opacity,
    box-shadow,
    transform,
    filter,
    backdrop-filter,
    -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.duration-200 {
  transition-duration: 200ms;
}

.duration-300 {
  transition-duration: 300ms;
}

.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

/* ========================================
   ODEI - Aurora Grid Theme
   ======================================== */

/* === Local Fonts === */

@font-face {
  font-family: 'Space Grotesk';

  src: url('../assets/fonts/space-grotesk-400.woff2') format('woff2');

  font-weight: 400;

  font-style: normal;

  font-display: swap;
}

@font-face {
  font-family: 'Space Grotesk';

  src: url('../assets/fonts/space-grotesk-500.woff2') format('woff2');

  font-weight: 500;

  font-style: normal;

  font-display: swap;
}

@font-face {
  font-family: 'Space Grotesk';

  src: url('../assets/fonts/space-grotesk-700.woff2') format('woff2');

  font-weight: 700;

  font-style: normal;

  font-display: swap;
}

@font-face {
  font-family: 'Manrope';

  src: url('../assets/fonts/manrope-400.woff2') format('woff2');

  font-weight: 400;

  font-style: normal;

  font-display: swap;
}

@font-face {
  font-family: 'Manrope';

  src: url('../assets/fonts/manrope-600.woff2') format('woff2');

  font-weight: 600;

  font-style: normal;

  font-display: swap;
}

@font-face {
  font-family: 'Manrope';

  src: url('../assets/fonts/manrope-700.woff2') format('woff2');

  font-weight: 700;

  font-style: normal;

  font-display: swap;
}

/* === Root Variables === */

:root {
  --font-display: 'Space Grotesk', 'Inter', 'Helvetica Neue', -apple-system, system-ui, sans-serif;
  --font-body: 'Space Grotesk', 'Inter', 'Helvetica Neue', -apple-system, system-ui, sans-serif;
  /* Type Scale */
  --type-h1: clamp(22px, 2vw, 28px);
  --type-h2: clamp(18px, 1.6vw, 22px);
  --type-h3: clamp(15px, 1.2vw, 18px);
  --type-label: 11px;
  --type-mono: 13px;
  /* Core Neutrals */
  --bg-01: var(--odei-color-black-950);
  --bg-02: var(--odei-color-black-900);
  --bg-03: var(--odei-color-black-850);
  --bg-04: #1d2331;
  --color-pure-black: var(--bg-01);
  --color-deep-black: var(--bg-02);
  --color-soft-black: var(--bg-03);
  --color-dark-gray: #1f2635;
  --color-mid-gray: #2a3244;
  --color-light-gray: #344057;
  --color-pale-gray: #7c889a;
  --color-silver: #b6c0d2;
  --color-white-smoke: #e8ecf4;
  --color-pure-white: var(--odei-color-white);
  /* Brand Accents */
  --accent-primary: var(--odei-color-jade-500);
  --accent-primary-soft: rgba(var(--odei-color-jade-rgb), 0.26);
  --accent-secondary: var(--odei-color-gold-500);
  --accent-emerald: var(--odei-color-jade-500);
  --accent-warning: var(--odei-color-gold-500);
  --accent-danger: var(--odei-color-danger-400);
  /* Agent Accents */
  --agent-commander: var(--odei-color-jade-500);
  --agent-commander-soft: rgba(var(--odei-color-jade-rgb), 0.2);
  --agent-commander-strong: rgba(var(--odei-color-jade-rgb), 0.6);
  --agent-plan: var(--odei-color-gold-500);
  --agent-plan-soft: rgba(var(--odei-color-gold-rgb), 0.2);
  --agent-plan-strong: rgba(var(--odei-color-gold-rgb), 0.6);
  --agent-execute: #34d399;
  --agent-execute-soft: rgba(52, 211, 153, 0.2);
  --agent-execute-strong: rgba(52, 211, 153, 0.6);
  --agent-builder: #38bdf8;
  --agent-builder-soft: rgba(56, 189, 248, 0.2);
  --agent-builder-strong: rgba(56, 189, 248, 0.6);
  /* Glass Effects */
  --glass-bg: rgba(11, 14, 20, 0.86);
  --glass-bg-hover: rgba(18, 22, 32, 0.9);
  --glass-bg-active: rgba(26, 32, 44, 0.94);
  --glass-border: rgba(var(--odei-color-jade-rgb), 0.2);
  --glass-border-bright: rgba(var(--odei-color-jade-rgb), 0.35);
  /* Shadows */
  --shadow-sm: 0 12px 26px rgba(0, 0, 0, 0.28);
  --shadow-md: 0 18px 34px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 28px 56px rgba(0, 0, 0, 0.52);
  --shadow-glow: 0 0 24px rgba(var(--odei-color-jade-rgb), 0.2);
  --shadow-glow-bright: 0 0 36px rgba(var(--odei-color-gold-rgb), 0.35);
  /* Typography */
  --text-primary: rgba(232, 236, 244, 0.98);
  --text-secondary: rgba(182, 192, 210, 0.85);
  --text-muted: rgba(124, 136, 154, 0.75);
  /* Surfaces */
  --surface-soft: rgba(10, 13, 20, 0.82);
  --surface-strong: rgba(7, 9, 16, 0.92);
  --memory-gap: clamp(10px, 1.6vw, 18px);
  --memory-padding: clamp(14px, 2vw, 22px);
  --memory-panel-padding: clamp(12px, 1.8vw, 18px);
  --memory-card-radius: clamp(10px, 1.6vw, 18px);
  --memory-stat-size: clamp(18px, 2.4vw, 22px);
  --memory-section-spacing: clamp(10px, 1.6vh, 18px);
  /* NATO Affiliation Colors */
  --nato-friendly: #00ffff;
  --nato-friendly-fill: #80e0ff;
  --nato-hostile: #ff3031;
  --nato-hostile-fill: #ff8080;
  --nato-neutral: #00ff00;
  --nato-neutral-fill: #aaffaa;
  --nato-unknown: #ffff00;
  --nato-unknown-fill: #ffff80;
  /* DEFCON Status Colors */
  --defcon-critical: #ff3838;
  --defcon-critical-glow: rgba(255, 56, 56, 0.4);
  --defcon-warning: #ffb302;
  --defcon-warning-glow: rgba(255, 179, 2, 0.35);
  --defcon-caution: #fce83a;
  --defcon-caution-glow: rgba(252, 232, 58, 0.3);
  --defcon-normal: #56f000;
  --defcon-normal-glow: rgba(86, 240, 0, 0.25);
  --defcon-standby: #2dccff;
  --defcon-standby-glow: rgba(45, 204, 255, 0.25);
  /* Tactical Backgrounds */
  --tactical-bg: var(--odei-color-black-950);
  --tactical-panel: var(--odei-color-black-900);
  --tactical-elevated: var(--odei-color-black-850);
  --tactical-grid: rgba(var(--odei-color-jade-rgb), 0.08);
  /* Tactical Typography */
  --font-tactical: 'Eurostile', 'DIN', 'Inter', sans-serif;
  --font-data: 'IBM Plex Mono', 'JetBrains Mono', monospace;
  /* Tactical Animation */
  --pulse-duration: 2s;
  --alert-duration: 1s;
  --data-flow-duration: 1s;
}

/* Sidebar Theme - active agent */

#sidebar {
  --panel-accent: var(--agent-commander);
  --panel-accent-soft: var(--agent-commander-soft);
  --panel-accent-strong: var(--agent-commander-strong);
  --panel-contrast: var(--odei-color-gold-500);
  --panel-contrast-soft: rgba(var(--odei-color-gold-rgb), 0.2);
  --panel-contrast-strong: rgba(var(--odei-color-gold-rgb), 0.55);
  --panel-ink: rgba(232, 236, 244, 0.96);
}

#sidebar[data-active-agent='plan'] {
  --panel-accent: var(--agent-plan);
  --panel-accent-soft: var(--agent-plan-soft);
  --panel-accent-strong: var(--agent-plan-strong);
}

#sidebar[data-active-agent='execute'] {
  --panel-accent: var(--agent-execute);
  --panel-accent-soft: var(--agent-execute-soft);
  --panel-accent-strong: var(--agent-execute-strong);
}

#sidebar[data-active-agent='builder'] {
  --panel-accent: var(--agent-builder);
  --panel-accent-soft: var(--agent-builder-soft);
  --panel-accent-strong: var(--agent-builder-strong);
}

/* === Base Styles === */

* {
  box-sizing: border-box;
}

body {
  background: linear-gradient(145deg, #060912 0%, #0b1020 55%, #0f1628 100%);
  background-attachment: fixed;
  color: var(--text-primary);
  font-family: var(--font-body);
  overflow: hidden;
  margin: 0;
  padding: 0;
  position: relative;
  min-height: 100vh;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0.01em;
}

body.bg-gray-950 {
  background: linear-gradient(145deg, #060912 0%, #0b1020 55%, #0f1628 100%);
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 18%, rgba(var(--odei-color-jade-rgb), 0.1), transparent 40%),
    radial-gradient(circle at 80% 12%, rgba(var(--odei-color-gold-rgb), 0.08), transparent 45%),
    linear-gradient(115deg, rgba(255, 255, 255, 0.02), transparent 35%);
  mix-blend-mode: screen;
  opacity: 0.55;
  z-index: -1;
}

body::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
  background-size:
    220px 220px,
    220px 220px;
  background-position: -40px -20px;
  mix-blend-mode: soft-light;
  opacity: 0.24;
  z-index: -2;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-display);
  letter-spacing: -0.01em;
  color: var(--text-primary);
}

::-moz-selection {
  background: rgba(var(--odei-color-jade-rgb), 0.24);
  color: var(--text-primary);
}

::selection {
  background: rgba(var(--odei-color-jade-rgb), 0.24);
  color: var(--text-primary);
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--glass-border-bright);
  outline-offset: 2px;
  box-shadow:
    0 0 0 2px rgba(4, 8, 16, 0.7),
    var(--shadow-glow);
}

/* === Custom Scrollbar === */

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: rgba(6, 10, 20, 0.9);
  border-left: 1px solid rgba(255, 255, 255, 0.04);
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(var(--odei-color-jade-rgb), 0.6), rgba(var(--odei-color-jade-rgb), 0.35));
  border-radius: 999px;
  border: 2px solid rgba(6, 10, 20, 0.9);
  /* backdrop-filter: blur(8px); */
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06);
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, rgba(var(--odei-color-jade-rgb), 0.7), rgba(var(--odei-color-gold-rgb), 0.45));
  box-shadow:
    var(--shadow-glow),
    0 0 14px rgba(var(--odei-color-gold-rgb), 0.22);
}

/* === Navbar === */

.app-nav {
  position: relative;
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: clamp(10px, 1.8vh, 14px) clamp(14px, 3vw, 26px);
  background: linear-gradient(120deg, rgba(8, 12, 20, 0.96), rgba(12, 18, 30, 0.96) 48%, rgba(14, 22, 32, 0.94));
  border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
  border-radius: 0 0 18px 18px;
  box-shadow:
    0 24px 46px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.08);
  overflow: hidden;
  flex-shrink: 0;
}

.app-nav::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 16% 8%, rgba(var(--odei-color-jade-rgb), 0.16), transparent 42%),
    radial-gradient(circle at 92% 16%, rgba(var(--odei-color-gold-rgb), 0.16), transparent 40%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, transparent 70%);
  pointer-events: none;
  background-size: 140% 140%;
}

.app-nav::after {
  content: '';
  position: absolute;
  left: clamp(14px, 3vw, 28px);
  right: clamp(14px, 3vw, 28px);
  bottom: 2px;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(var(--odei-color-jade-rgb), 0.7),
    rgba(var(--odei-color-gold-rgb), 0.7),
    transparent
  );
  opacity: 0.85;
  pointer-events: none;
}

.nav-shell {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.nav-inline {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.nav-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.brand-cluster {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.brand-mark {
  padding: 8px;
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(10, 14, 22, 0.92), rgba(12, 20, 32, 0.95));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.25);
  box-shadow:
    var(--shadow-sm),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.brand-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.brand-row {
  display: flex;
  align-items: center;
  gap: 6px;
}

.brand-title,
nav h1 {
  font-size: var(--type-h2);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-primary);
  font-family: var(--font-display);
}

nav svg {
  filter: drop-shadow(0 0 12px rgba(var(--odei-color-jade-rgb), 0.35));
}

.brand-subtitle {
  display: none;
}

.nav-agent-bar {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px;
  background: linear-gradient(125deg, rgba(9, 13, 22, 0.92), rgba(10, 18, 28, 0.9));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  border-radius: 14px;
  box-shadow:
    0 10px 18px rgba(0, 0, 0, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  overflow: hidden;
}

.nav-agent-bar::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(var(--odei-color-jade-rgb), 0.08),
    transparent 30%,
    transparent 70%,
    rgba(var(--odei-color-gold-rgb), 0.08)
  );
  pointer-events: none;
}

.nav-section-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding-top: 4px;
  min-width: 120px;
}

.nav-agent-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: nowrap;
  flex: 1;
  overflow-x: auto;
}

.nav-agent-row::-webkit-scrollbar {
  height: 6px;
}

.nav-agent-inline {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}

.nav-agent-inline > .agent-tab {
  min-width: 130px;
  justify-content: center;
}

.human-group {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  position: relative;
  padding: 2px 0;
}

.human-group.collapsed {
  gap: 0;
}

.human-toggle-btn {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  outline: none;
}

.human-toggle-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, rgba(12, 17, 30, 0.92), rgba(12, 22, 34, 0.9));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.25);
  border-radius: 999px;
  padding: 8px 14px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 8px 14px rgba(0, 0, 0, 0.32),
    0 0 12px rgba(var(--odei-color-jade-rgb), 0.16);
  transition: all 0.25s ease;
  min-width: 130px;
  justify-content: center;
}

.human-group.active .human-toggle-pill {
  border-color: rgba(var(--odei-color-gold-rgb), 0.6);
  box-shadow:
    0 12px 20px rgba(0, 0, 0, 0.34),
    0 0 18px rgba(var(--odei-color-gold-rgb), 0.26),
    0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.25);
}

.human-toggle-pill:hover {
  transform: translateY(-1px);
  border-color: rgba(var(--odei-color-jade-rgb), 0.5);
  box-shadow:
    0 10px 18px rgba(0, 0, 0, 0.32),
    0 0 14px rgba(var(--odei-color-jade-rgb), 0.22);
}

.human-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, var(--odei-color-jade-500), #34d399);
  box-shadow: 0 0 12px rgba(52, 211, 153, 0.55);
}

.human-label {
  font-size: 15px;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: 0.02em;
}

.human-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: rgba(var(--odei-color-jade-rgb), 0.75);
  background: rgba(255, 255, 255, 0.04);
  border-radius: 999px;
  transition:
    transform 0.25s ease,
    background 0.25s ease;
}

.human-group:not(.collapsed) .human-arrow {
  transform: rotate(180deg);
  background: rgba(var(--odei-color-jade-rgb), 0.22);
}

.human-children {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  overflow: visible;
  padding-left: 6px;
  border-left: 1px dashed rgba(var(--odei-color-jade-rgb), 0.2);
  transition:
    max-width 0.35s ease,
    opacity 0.3s ease,
    transform 0.3s ease;
}

.human-children > .agent-tab {
  min-width: 130px;
  justify-content: center;
}

.human-group.collapsed .human-children {
  overflow: hidden;
  max-width: 0;
  opacity: 0;
  transform: translateX(-6px) scale(0.98);
  pointer-events: none;
  padding-left: 0;
  border-left: 0;
  gap: 0;
}

.human-group:not(.collapsed) .human-children {
  max-width: 1000px;
  opacity: 1;
  transform: translateX(0) scale(1);
}

.work-group {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  position: relative;
  padding: 2px 0;
}

.work-group.collapsed {
  gap: 0;
}

.work-toggle-btn {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  outline: none;
}

.work-toggle-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, rgba(12, 17, 30, 0.92), rgba(12, 22, 34, 0.9));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.25);
  border-radius: 999px;
  padding: 8px 14px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 8px 14px rgba(0, 0, 0, 0.32),
    0 0 12px rgba(var(--odei-color-jade-rgb), 0.16);
  transition: all 0.25s ease;
  min-width: 130px;
  justify-content: center;
}

.work-group.active .work-toggle-pill {
  border-color: rgba(var(--odei-color-gold-rgb), 0.6);
  box-shadow:
    0 12px 20px rgba(0, 0, 0, 0.34),
    0 0 18px rgba(var(--odei-color-gold-rgb), 0.26),
    0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.25);
}

.work-toggle-pill:hover {
  transform: translateY(-1px);
  border-color: rgba(var(--odei-color-jade-rgb), 0.5);
  box-shadow:
    0 10px 18px rgba(0, 0, 0, 0.32),
    0 0 14px rgba(var(--odei-color-jade-rgb), 0.22);
}

.work-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, var(--odei-color-jade-500), #34d399);
  box-shadow: 0 0 12px rgba(52, 211, 153, 0.55);
}

.work-label {
  font-size: 15px;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: 0.02em;
}

.work-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: rgba(var(--odei-color-jade-rgb), 0.75);
  background: rgba(255, 255, 255, 0.04);
  border-radius: 999px;
  transition:
    transform 0.25s ease,
    background 0.25s ease;
}

.work-group:not(.collapsed) .work-arrow {
  transform: rotate(180deg);
  background: rgba(var(--odei-color-jade-rgb), 0.22);
}

.work-children {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  overflow: visible;
  padding-left: 6px;
  border-left: 1px dashed rgba(var(--odei-color-jade-rgb), 0.2);
  transition:
    max-width 0.35s ease,
    opacity 0.3s ease,
    transform 0.3s ease;
}

.work-group.collapsed .work-children {
  overflow: hidden;
  max-width: 0;
  opacity: 0;
  transform: translateX(-6px) scale(0.98);
  pointer-events: none;
  padding-left: 0;
  border-left: 0;
  gap: 0;
}

.work-group:not(.collapsed) .work-children {
  max-width: 800px;
  opacity: 1;
  transform: translateX(0) scale(1);
}

/* === Health Group (Expandable like Work) === */

.health-group {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  position: relative;
  padding: 2px 0;
}

.health-group.collapsed {
  gap: 0;
}

.health-toggle-btn {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  outline: none;
}

.health-toggle-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, rgba(12, 17, 30, 0.92), rgba(12, 22, 34, 0.9));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.25);
  border-radius: 999px;
  padding: 8px 14px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 8px 14px rgba(0, 0, 0, 0.32),
    0 0 12px rgba(var(--odei-color-jade-rgb), 0.16);
  transition: all 0.25s ease;
  min-width: 130px;
  justify-content: center;
}

.health-group.active .health-toggle-pill {
  border-color: rgba(var(--odei-color-gold-rgb), 0.6);
  box-shadow:
    0 12px 20px rgba(0, 0, 0, 0.34),
    0 0 18px rgba(var(--odei-color-gold-rgb), 0.26),
    0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.25);
}

.health-toggle-pill:hover {
  transform: translateY(-1px);
  border-color: rgba(var(--odei-color-jade-rgb), 0.5);
  box-shadow:
    0 10px 18px rgba(0, 0, 0, 0.32),
    0 0 14px rgba(var(--odei-color-jade-rgb), 0.22);
}

.health-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, var(--odei-color-jade-500), #34d399);
  box-shadow: 0 0 12px rgba(52, 211, 153, 0.55);
}

.health-label {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--text-primary);
}

.health-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: rgba(var(--odei-color-jade-rgb), 0.75);
  background: rgba(255, 255, 255, 0.04);
  border-radius: 999px;
  transition:
    transform 0.25s ease,
    background 0.25s ease;
}

.health-group:not(.collapsed) .health-arrow {
  transform: rotate(180deg);
  background: rgba(var(--odei-color-jade-rgb), 0.22);
}

.health-children {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  overflow: visible;
  padding-left: 6px;
  border-left: 1px dashed rgba(var(--odei-color-jade-rgb), 0.2);
  transition:
    max-width 0.35s ease,
    opacity 0.3s ease,
    transform 0.3s ease;
}

.health-group.collapsed .health-children {
  overflow: hidden;
  max-width: 0;
  opacity: 0;
  transform: translateX(-6px) scale(0.98);
  pointer-events: none;
  padding-left: 0;
  border-left: 0;
  gap: 0;
}

.health-group:not(.collapsed) .health-children {
  max-width: 800px;
  opacity: 1;
  transform: translateX(0) scale(1);
}

/* Dashboard sub-group inside Health */

.dashboard-group {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.dashboard-group.collapsed {
  gap: 0;
}

.dashboard-toggle-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.dashboard-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: rgba(var(--odei-color-jade-rgb), 0.75);
  background: rgba(255, 255, 255, 0.04);
  border-radius: 999px;
  transition:
    transform 0.25s ease,
    background 0.25s ease;
}

.dashboard-group.collapsed .dashboard-arrow {
  transform: rotate(0deg);
}

.dashboard-group:not(.collapsed) .dashboard-arrow {
  transform: rotate(180deg);
  background: rgba(var(--odei-color-jade-rgb), 0.22);
}

.dashboard-children {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  overflow: visible;
  padding-left: 6px;
  border-left: 1px dashed rgba(var(--odei-color-jade-rgb), 0.2);
  transition:
    max-width 0.3s ease,
    opacity 0.25s ease,
    transform 0.25s ease;
}

.dashboard-group.collapsed .dashboard-children {
  overflow: hidden;
  max-width: 0;
  opacity: 0;
  transform: translateX(-6px) scale(0.98);
  pointer-events: none;
  padding-left: 0;
  border-left: 0;
  gap: 0;
}

.dashboard-group:not(.collapsed) .dashboard-children {
  max-width: 400px;
  opacity: 1;
  transform: translateX(0) scale(1);
}

/* === Agent Tabs === */

.agent-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(135deg, rgba(12, 17, 30, 0.92), rgba(12, 22, 34, 0.9));
  /* backdrop-filter: blur(14px) saturate(140%); */
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.25);
  border-radius: 999px;
  padding: 8px 14px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.02em;
  color: var(--text-secondary);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 8px 14px rgba(0, 0, 0, 0.32),
    0 0 12px rgba(var(--odei-color-jade-rgb), 0.16);
  isolation: isolate;
  min-height: 36px;
}

/* Keep Health toggle styling subtle when it reuses agent-tab class */

.health-toggle-btn.agent-tab {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.agent-tab::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), transparent 60%);
  border-radius: 999px;
  opacity: 0.3;
  transition:
    opacity 0.3s ease,
    box-shadow 0.3s ease;
  pointer-events: none;
}

.agent-tab:hover {
  color: var(--text-primary);
  transform: translateY(-1px) translateZ(0);
  border-color: rgba(var(--odei-color-jade-rgb), 0.4);
  box-shadow:
    0 10px 18px rgba(0, 0, 0, 0.32),
    0 0 14px rgba(var(--odei-color-jade-rgb), 0.22);
}

.agent-tab:hover::before {
  opacity: 0.7;
  box-shadow: inset 0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.35);
}

.agent-tab.handoff-pending:not(.active) {
  border-color: rgba(var(--odei-color-gold-rgb), 0.6);
  box-shadow:
    var(--shadow-sm),
    0 0 18px rgba(var(--odei-color-gold-rgb), 0.28);
}

.agent-tab.handoff-pending:not(.active)::after {
  content: '';
  position: absolute;
  top: 4px;
  right: 4px;
  width: 8px;
  height: 8px;
  border: 2px solid rgba(var(--odei-color-gold-rgb), 0.8);
  border-radius: 9999px;
  animation: handoffPing 1.4s ease-out infinite;
  pointer-events: none;
}

.agent-tab.handoff-pending:not(.active)::before {
  opacity: 0.8;
}

@keyframes handoffPing {
  0% {
    transform: scale(1);
    opacity: 0.8;
  }

  50% {
    transform: scale(1.8);
    opacity: 0.4;
  }

  100% {
    transform: scale(2.5);
    opacity: 0;
  }
}

.agent-tab.active {
  color: var(--text-primary);
  background: linear-gradient(135deg, rgba(12, 17, 30, 0.96), rgba(12, 22, 34, 0.94));
  border-color: rgba(var(--odei-color-gold-rgb), 0.6);
  box-shadow:
    0 12px 20px rgba(0, 0, 0, 0.34),
    0 0 18px rgba(var(--odei-color-gold-rgb), 0.26),
    0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.25);
}

.agent-tab.active::before {
  opacity: 1;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.12), transparent 55%);
}

.agent-tab .status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--text-muted);
  box-shadow: 0 0 8px rgba(148, 163, 184, 0.35);
  transition: all 0.3s ease;
}

.agent-tab .status-dot.running {
  background: radial-gradient(circle at 30% 30%, var(--odei-color-jade-500), #34d399);
  box-shadow: 0 0 12px rgba(52, 211, 153, 0.65);
}

.agent-tab .status-dot.error {
  background: var(--accent-danger);
  box-shadow: 0 0 14px rgba(239, 68, 68, 0.7);
}

/* Force emerald dots for key nav tabs even before runtime sets running */

.agent-tab[data-agent='finance'] .status-dot,
.agent-tab[data-agent='memory'] .status-dot,
.agent-tab[data-agent='health'] .status-dot,
.agent-tab[data-agent='work'] .status-dot {
  background: radial-gradient(circle at 30% 30%, var(--odei-color-jade-500), #34d399);
  box-shadow: 0 0 12px rgba(52, 211, 153, 0.65);
}

.agent-tab .agent-reload-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(12, 18, 32, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 6px;
  padding: 2px 4px;
  color: inherit;
  opacity: 0.65;
  transition:
    transform 0.2s ease,
    opacity 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease;
}

.agent-tab:hover .agent-reload-btn {
  opacity: 0.85;
}

.agent-tab .agent-reload-btn:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.45);
  background: rgba(var(--odei-color-jade-rgb), 0.18);
  transform: rotate(-12deg) scale(1.05);
}

/* === Primary Sidebar === */

.primary-sidebar-shell {
  position: relative;
  width: 230px;
  flex-shrink: 0;
  height: 100%;
  transition: width 0.24s ease;
}

.primary-sidebar-shell.is-collapsed {
  width: 42px;
}

.primary-sidebar {
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px 12px;
  background: linear-gradient(180deg, rgba(8, 12, 20, 0.98), rgba(10, 16, 26, 0.98));
  border-right: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.02);
  overflow-y: auto;
  transition:
    opacity 0.22s ease,
    transform 0.24s ease;
  will-change: opacity, transform;
}

.primary-sidebar-shell.is-collapsed .primary-sidebar {
  opacity: 0;
  transform: translateX(-16px);
  pointer-events: none;
}

.primary-sidebar-toggle {
  position: absolute;
  top: auto;
  bottom: 10px;
  right: -11px;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.22);
  background: linear-gradient(145deg, rgba(8, 13, 23, 0.72), rgba(11, 18, 30, 0.68));
  color: rgba(226, 232, 240, 0.58);
  box-shadow:
    0 6px 14px rgba(0, 0, 0, 0.28),
    0 0 10px rgba(var(--odei-color-jade-rgb), 0.1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 4;
  opacity: 0.34;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    color 0.2s ease,
    right 0.24s ease;
}

.primary-sidebar-shell.is-collapsed .primary-sidebar-toggle {
  right: 6px;
  bottom: 8px;
}

.primary-sidebar-toggle__glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.24s ease;
}

.primary-sidebar-toggle__glyph svg {
  width: 12px;
  height: 12px;
}

.primary-sidebar-shell.is-collapsed .primary-sidebar-toggle__glyph {
  transform: rotate(180deg);
}

.primary-sidebar-toggle:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.46);
  box-shadow:
    0 10px 18px rgba(0, 0, 0, 0.36),
    0 0 12px rgba(var(--odei-color-jade-rgb), 0.2);
  color: rgba(238, 242, 255, 0.9);
  opacity: 0.78;
}

.primary-sidebar-toggle:focus-visible {
  outline: 2px solid rgba(var(--odei-color-gold-rgb), 0.85);
  outline-offset: 2px;
}

.primary-sidebar__section {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.primary-sidebar__label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding: 6px 10px;
}

.primary-sidebar__divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--odei-color-jade-rgb), 0.35), transparent);
  opacity: 0.7;
  margin: 4px 0;
}

.primary-sidebar .primary-nav-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.18);
  background: rgba(12, 17, 30, 0.9);
  color: var(--text-secondary);
  text-align: left;
  transition: all 0.2s ease;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.01em;
  box-shadow: var(--shadow-sm);
}

.primary-sidebar .agent-tab.primary-nav-item {
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.01em;
  background: rgba(12, 17, 30, 0.9);
  box-shadow: var(--shadow-sm);
  min-height: auto;
  transform: none;
}

.primary-sidebar .primary-nav-item::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), transparent 60%);
  opacity: 0.4;
  pointer-events: none;
}

.primary-sidebar .primary-nav-item:hover:not(:disabled) {
  color: var(--text-primary);
  border-color: rgba(var(--odei-color-jade-rgb), 0.4);
  transform: translateY(-1px);
  box-shadow:
    var(--shadow-md),
    0 0 14px rgba(var(--odei-color-jade-rgb), 0.2);
}

.primary-sidebar .primary-nav-item:disabled,
.primary-sidebar .primary-nav-item.nav-item--locked {
  cursor: not-allowed;
  opacity: 0.45;
  border-color: rgba(124, 136, 154, 0.2);
  box-shadow: none;
}

.primary-sidebar .primary-nav-item__dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--text-muted);
  box-shadow: 0 0 10px rgba(148, 163, 184, 0.35);
  flex-shrink: 0;
}

.primary-sidebar .primary-nav-item__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.primary-sidebar .primary-nav-item__label {
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.primary-sidebar .primary-nav-item__role {
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.primary-sidebar .primary-nav-item__meta {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.primary-sidebar .primary-nav-item__badge {
  padding: 2px 6px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 700;
  color: #fcd34d;
  background: rgba(var(--odei-color-gold-rgb), 0.15);
  border: 1px solid rgba(var(--odei-color-gold-rgb), 0.35);
}

.primary-sidebar .primary-nav-item__version {
  padding: 2px 6px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 600;
  color: var(--text-muted);
  background: rgba(17, 24, 39, 0.6);
  border: 1px solid rgba(71, 85, 105, 0.45);
}

.primary-sidebar .agent-tab.primary-nav-item.active {
  color: var(--text-primary);
  border-color: rgba(var(--odei-color-gold-rgb), 0.6);
  background: rgba(14, 20, 34, 0.96);
  box-shadow:
    var(--shadow-md),
    0 0 18px rgba(var(--odei-color-gold-rgb), 0.18);
}

.primary-sidebar .agent-tab.primary-nav-item.active::before {
  opacity: 0.8;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.12), transparent 55%);
}

.primary-sidebar .primary-nav-item[data-agent='memory'] .primary-nav-item__dot {
  background: var(--accent-emerald);
  box-shadow: 0 0 12px rgba(var(--odei-color-jade-rgb), 0.6);
}

.primary-sidebar .primary-nav-item[data-agent='commander'] .primary-nav-item__dot {
  background: var(--agent-commander);
  box-shadow: 0 0 12px rgba(var(--odei-color-jade-rgb), 0.55);
}

.primary-sidebar .primary-nav-item[data-agent='today'] .primary-nav-item__dot {
  background: var(--accent-secondary);
  box-shadow: 0 0 12px rgba(var(--odei-color-gold-rgb), 0.6);
}

.primary-sidebar .primary-nav-item[data-agent='execute'] .primary-nav-item__dot {
  background: var(--agent-execute);
  box-shadow: 0 0 12px rgba(52, 211, 153, 0.6);
}

@media (max-width: 1024px) {
  .primary-sidebar-shell {
    width: 200px;
  }
}

@media (max-width: 880px) {
  .primary-sidebar-shell {
    display: none;
  }
}

/* === Terminal Area === */

#terminal-area {
  background:
    radial-gradient(circle at 18% 20%, rgba(var(--odei-color-jade-rgb), 0.12), transparent 40%),
    radial-gradient(circle at 76% 18%, rgba(var(--odei-color-gold-rgb), 0.12), transparent 42%),
    linear-gradient(160deg, #000000 0%, #050505 55%, #000000 100%);
  position: relative;
  isolation: isolate;
  border-top: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  border-bottom: 1px solid rgba(14, 20, 32, 0.7);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    inset 0 -1px 0 rgba(0, 0, 0, 0.55),
    0 24px 40px rgba(0, 0, 0, 0.45);
}

#terminal-area::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(60deg, rgba(var(--odei-color-jade-rgb), 0.04) 1px, transparent 1px);
  background-size: 200px 200px;
  opacity: 0.3;
  /* animation: gridDrift 60s linear infinite; DISABLE FOR PERFORMANCE */
}

@keyframes gridDrift {
  0% {
    background-position:
      0 0,
      0 0;
  }

  100% {
    background-position:
      80px 120px,
      -60px 90px;
  }
}

.terminal-container {
  background: transparent;
  padding: 12px 14px 18px;
  height: 100%;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
}

.terminal-container .xterm {
  width: 100%;
  height: 100%;
  padding: 16px 18px;
  font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
  background: #060a12;
  border-radius: 14px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  box-shadow:
    inset 0 0 0 1px rgba(12, 18, 32, 0.88),
    0 12px 24px rgba(0, 0, 0, 0.5);
  color: var(--text-primary);
  box-sizing: border-box;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  font-smooth: always;
  -webkit-text-size-adjust: 100%;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  filter: none;
}

.terminal-container .xterm .xterm-rows,
.terminal-container .xterm .xterm-screen,
.terminal-container .xterm canvas {
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  font-smooth: always;
}

.terminal-container .xterm-viewport::-webkit-scrollbar {
  width: 8px;
}

.terminal-container .xterm-viewport::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(var(--odei-color-jade-rgb), 0.42), rgba(var(--odei-color-jade-rgb), 0.24));
  border-radius: 6px;
}

.terminal-host {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.terminal-search-overlay {
  position: absolute;
  top: 14px;
  right: 18px;
  z-index: 8;
  pointer-events: auto;
}

.terminal-search-inner {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 14px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.35);
  background:
    linear-gradient(150deg, rgba(6, 10, 20, 0.94), rgba(10, 14, 22, 0.92)),
    radial-gradient(circle at 20% 20%, rgba(var(--odei-color-jade-rgb), 0.18), transparent 60%);
  box-shadow:
    0 14px 30px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(255, 255, 255, 0.04),
    0 0 18px rgba(var(--odei-color-jade-rgb), 0.15);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.terminal-search-input {
  width: min(240px, 42vw);
  background: rgba(12, 18, 32, 0.6);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.25);
  border-radius: 10px;
  padding: 6px 10px;
  color: var(--text-primary);
  font-size: 12px;
  line-height: 1.2;
  outline: none;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.terminal-search-input::-moz-placeholder {
  color: rgba(232, 236, 244, 0.45);
}

.terminal-search-input::placeholder {
  color: rgba(232, 236, 244, 0.45);
}

.terminal-search-input:focus {
  border-color: rgba(var(--odei-color-jade-rgb), 0.65);
  box-shadow: 0 0 0 2px rgba(var(--odei-color-jade-rgb), 0.18);
}

.terminal-search-btn {
  min-width: 30px;
  height: 30px;
  padding: 0 8px;
  border-radius: 10px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.25);
  background: rgba(12, 18, 32, 0.72);
  color: var(--text-primary);
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.18s ease;
}

.terminal-search-btn:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.55);
  color: #9cf0e6;
  transform: translateY(-1px);
}

.terminal-search-btn:active {
  transform: translateY(0);
}

.terminal-search-btn.is-active,
.terminal-search-btn[aria-pressed='true'] {
  border-color: rgba(var(--odei-color-gold-rgb), 0.7);
  color: var(--odei-color-gold-500);
  box-shadow: 0 0 0 1px rgba(var(--odei-color-gold-rgb), 0.2);
}

.terminal-search-status {
  min-width: 60px;
  text-align: right;
  font-size: 10px;
  color: var(--text-muted);
  padding: 0 4px;
}

.terminal-search-status.is-hit {
  color: #6ee7d8;
}

.terminal-search-status.is-miss {
  color: #ff9b9b;
}

.scroll-to-latest {
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 40px;
  height: 40px;
  border-radius: 14px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.4);
  background:
    linear-gradient(150deg, rgba(6, 10, 20, 0.92), rgba(10, 14, 22, 0.9)),
    radial-gradient(circle at 50% 10%, rgba(255, 255, 255, 0.06), transparent 52%),
    radial-gradient(circle at 30% 30%, rgba(var(--odei-color-jade-rgb), 0.2), transparent 58%);
  color: #e8ecf4;
  box-shadow:
    0 16px 30px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(255, 255, 255, 0.06),
    0 0 18px rgba(var(--odei-color-jade-rgb), 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  z-index: 5;
  opacity: 0;
  transform: translateY(8px) scale(0.95);
  pointer-events: none;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.scroll-to-latest.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.scroll-to-latest:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.6);
  box-shadow:
    0 18px 36px rgba(0, 0, 0, 0.6),
    0 0 22px rgba(var(--odei-color-jade-rgb), 0.28),
    0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.2);
  color: #9cf0e6;
  transform: translateY(-1px) scale(1.02);
}

.scroll-to-latest:active {
  transform: translateY(1px) scale(0.98);
}

.scroll-to-latest .arrow-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.scroll-to-latest svg {
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.45));
}

/* === Sidebar === */

/* Absolutely-positioned overlay: the sidebar is ALWAYS rendered at full width
   so the browser keeps its content painted in GPU memory.  Toggling
   `sidebar-collapsed` flips `visibility` — a single compositor operation with
   ZERO layout reflow.  The terminal-area stays flex:1 and never changes width. */

#sidebar {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 20;
  width: clamp(520px, 34vw, 660px);
  max-width: none;
  min-width: 420px;
  background: linear-gradient(180deg, rgba(6, 10, 18, 0.98), rgba(4, 7, 14, 0.99));
  border-left: 1px solid rgba(var(--odei-color-jade-rgb), 0.22);
  box-shadow: -24px 0 48px rgba(0, 0, 0, 0.6);
  color: var(--text-secondary);
}

#sidebar::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 75% 0%, rgba(var(--odei-color-gold-rgb), 0.18), transparent 55%),
    radial-gradient(circle at 12% 12%, rgba(var(--odei-color-jade-rgb), 0.18), transparent 50%);
  pointer-events: none;
}

#sidebar .text-gray-400 {
  color: var(--text-secondary) !important;
}

#sidebar .text-gray-500,
#sidebar .text-gray-600 {
  color: var(--text-muted) !important;
}

#sidebar [class*='border-gray'] {
  border-color: rgba(var(--odei-color-jade-rgb), 0.2) !important;
}

#sidebar [class*='bg-gray-900'],
#sidebar [class*='bg-gray-950'] {
  background-color: transparent !important;
}

#sidebar .metrics-card,
#sidebar .context-card,
#sidebar .summary-card,
#sidebar .status-card,
#sidebar .p-4,
#sidebar .p-5 {
  position: relative;
  background: linear-gradient(160deg, rgba(8, 14, 26, 0.82), rgba(7, 11, 22, 0.9));
  border-radius: 16px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.16);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

#sidebar .metrics-card::before,
#sidebar .context-card::before,
#sidebar .summary-card::before,
#sidebar .status-card::before,
#sidebar .p-4::before,
#sidebar .p-5::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    135deg,
    rgba(var(--odei-color-jade-rgb), 0.18),
    rgba(var(--odei-color-gold-rgb), 0.16),
    transparent 65%
  );
  opacity: 0.5;
  pointer-events: none;
}

#companion-terminal-section,
#recent-conversations-section,
#health-dashboard-section {
  background: linear-gradient(175deg, rgba(7, 11, 22, 0.96), rgba(4, 8, 18, 0.94)) !important;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.22);
  border-radius: 18px;
  box-shadow:
    var(--shadow-lg),
    0 0 0 1px rgba(var(--odei-color-gold-rgb), 0.05);
  overflow: hidden;
  position: relative;
}

#companion-terminal-section > .relative,
#recent-conversations-section > .relative {
  background: linear-gradient(140deg, rgba(12, 17, 30, 0.96), rgba(10, 16, 28, 0.86)) !important;
  border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
  box-shadow:
    inset 0 -1px 0 rgba(0, 0, 0, 0.6),
    0 20px 36px rgba(0, 0, 0, 0.5);
}

#companion-terminal {
  background:
    radial-gradient(circle at 25% 15%, rgba(var(--odei-color-jade-rgb), 0.16), transparent 60%),
    radial-gradient(circle at 80% 70%, rgba(var(--odei-color-gold-rgb), 0.14), transparent 55%), rgba(5, 9, 19, 0.92) !important;
  border-top: 1px solid rgba(var(--odei-color-jade-rgb), 0.18);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

#recent-conversations-list {
  background: linear-gradient(180deg, rgba(10, 16, 30, 0.78), rgba(9, 14, 26, 0.9)) !important;
  padding: 10px 10px 12px !important;
  gap: 10px !important;
  overscroll-behavior: contain;
  scroll-behavior: smooth;
  scroll-padding-top: 68px;
}

#companion-terminal-section > .relative select,
#companion-terminal-section > .relative button,
#recent-conversations-section > .relative button {
  box-shadow: none !important;
}

#companion-terminal-section > .relative select {
  background: rgba(10, 16, 30, 0.9) !important;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.22) !important;
  color: var(--text-primary) !important;
  border-radius: 10px !important;
  padding: 8px 12px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

#companion-terminal-section > .relative button,
#recent-conversations-section > .relative button {
  border-radius: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  transition: all 0.25s ease !important;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.25) !important;
  background: linear-gradient(
    160deg,
    rgba(var(--odei-color-jade-rgb), 0.18),
    rgba(var(--odei-color-gold-rgb), 0.18)
  ) !important;
  color: var(--text-primary) !important;
  box-shadow: 0 12px 28px rgba(2, 6, 23, 0.55) !important;
}

#companion-terminal-section > .relative button:hover,
#recent-conversations-section > .relative button:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.45) !important;
  transform: translateY(-1px) scale(1.01) !important;
  box-shadow:
    0 18px 32px rgba(0, 0, 0, 0.55),
    0 0 18px rgba(var(--odei-color-jade-rgb), 0.2) !important;
}

#companion-start {
  background: linear-gradient(150deg, rgba(var(--odei-color-jade-rgb), 0.35), rgba(35, 211, 165, 0.6)) !important;
  border-color: rgba(var(--odei-color-jade-rgb), 0.45) !important;
  box-shadow: 0 14px 32px rgba(var(--odei-color-jade-rgb), 0.25) !important;
}

#companion-restart {
  background: linear-gradient(
    150deg,
    rgba(var(--odei-color-gold-rgb), 0.32),
    rgba(var(--odei-color-jade-rgb), 0.35)
  ) !important;
  border-color: rgba(var(--odei-color-gold-rgb), 0.45) !important;
  box-shadow: 0 14px 32px rgba(var(--odei-color-gold-rgb), 0.24) !important;
}

#companion-kill {
  background: linear-gradient(150deg, rgba(255, 123, 123, 0.32), rgba(255, 99, 99, 0.42)) !important;
  border-color: rgba(255, 123, 123, 0.5) !important;
  box-shadow: 0 14px 32px rgba(255, 123, 123, 0.22) !important;
}

#toggle-companion-btn,
#toggle-conversations-btn {
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  background: var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.2)) !important;
  border-color: var(--panel-accent-strong, rgba(var(--odei-color-jade-rgb), 0.38)) !important;
  color: var(--text-primary) !important;
  box-shadow:
    0 10px 20px rgba(0, 0, 0, 0.45),
    0 0 18px var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.2)) !important;
}

#toggle-companion-btn:hover,
#toggle-conversations-btn:hover {
  background: var(--panel-accent-strong, rgba(var(--odei-color-jade-rgb), 0.32)) !important;
  transform: translateY(-1px);
}

/* Recent Conversations header polish */

#recent-conversations-section .recent-header {
  background: linear-gradient(145deg, rgba(7, 11, 20, 0.96), rgba(8, 12, 22, 0.92));
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.55);
  position: relative;
  overflow: hidden;
  border-color: var(--panel-accent-soft, rgba(var(--odei-color-gold-rgb), 0.32)) !important;
  padding: 16px 18px;
}

#recent-conversations-section .recent-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 0% 0%, var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.18)), transparent 40%),
    radial-gradient(
      circle at 90% 10%,
      var(--panel-contrast-soft, rgba(var(--odei-color-gold-rgb), 0.2)),
      transparent 42%
    );
  pointer-events: none;
}

.health-dashboard-header {
  background: linear-gradient(145deg, rgba(7, 11, 20, 0.96), rgba(8, 12, 22, 0.92));
  border-color: var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.26)) !important;
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.55);
  position: relative;
  overflow: hidden;
}

.health-dashboard-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 8% 0%,
      var(--panel-contrast-soft, rgba(var(--odei-color-gold-rgb), 0.18)),
      transparent 40%
    ),
    radial-gradient(
      circle at 88% 12%,
      var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.16)),
      transparent 42%
    );
  pointer-events: none;
}

#recent-conversations-section .recent-header h3 {
  letter-spacing: 0.06em;
}

#recent-conversations-section .recent-header p {
  color: var(--panel-contrast, rgba(var(--odei-color-gold-rgb), 0.82));
  opacity: 0.88;
}

#recent-conversations-section .rc-header-row {
  align-items: flex-start !important;
  flex-wrap: wrap;
  row-gap: 8px;
}

#recent-conversations-section .rc-header-main {
  flex: 1 1 180px;
  min-width: 0;
}

#recent-conversations-section .recent-header button:not(#rc-reload-save-btn) {
  box-shadow:
    0 12px 24px rgba(0, 0, 0, 0.42),
    0 0 12px var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.25)) !important;
}

/* Save & Reload action button */

.rc-reload-save-wrap {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin-top: 0 !important;
  margin-left: auto !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.36) !important;
  background: linear-gradient(140deg, rgba(6, 16, 28, 0.88), rgba(6, 25, 38, 0.96)) !important;
  box-shadow:
    0 8px 18px rgba(2, 10, 20, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.16) !important;
  color: rgba(219, 254, 247, 0.94) !important;
  cursor: pointer !important;
  transition:
    transform 0.18s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease,
    background 0.22s ease,
    color 0.22s ease !important;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  overflow: hidden;
  max-width: 100%;
  flex: 0 0 auto;
}

.rc-reload-save-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(var(--odei-color-jade-rgb), 0.16), rgba(var(--odei-color-gold-rgb), 0.14));
  opacity: 0;
  transition: opacity 0.22s ease;
  pointer-events: none;
}

.rc-reload-save-wrap:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.62) !important;
  box-shadow:
    0 12px 22px rgba(1, 18, 30, 0.6),
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.28),
    0 0 24px rgba(var(--odei-color-jade-rgb), 0.24) !important;
  transform: translateY(-1px) !important;
}

.rc-reload-save-wrap:hover::before {
  opacity: 1;
}

.rc-reload-save-wrap:active {
  transform: translateY(0) scale(0.985) !important;
}

.rc-reload-save-wrap:focus-visible {
  border-color: rgba(var(--odei-color-gold-rgb), 0.74) !important;
  box-shadow:
    0 0 0 2px rgba(var(--odei-color-gold-rgb), 0.18),
    0 0 0 4px rgba(var(--odei-color-jade-rgb), 0.16),
    0 10px 22px rgba(2, 10, 20, 0.58) !important;
}

.rc-reload-save-wrap .rc-reload-icon,
.rc-reload-save-wrap .rc-reload-label {
  position: relative;
  z-index: 1;
}

.rc-reload-save-wrap .rc-reload-icon {
  width: 13px !important;
  height: 13px !important;
  min-width: 13px !important;
  min-height: 13px !important;
  flex-shrink: 0 !important;
  stroke: rgba(var(--odei-color-jade-rgb), 0.95);
  transition:
    stroke 0.22s ease,
    transform 0.22s ease;
}

.rc-reload-save-wrap:hover .rc-reload-icon {
  stroke: rgba(var(--odei-color-gold-rgb), 0.95);
  transform: rotate(16deg);
}

.rc-reload-save-wrap .rc-reload-label {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(220, 255, 248, 0.96) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

@media (max-width: 1680px) {
  .rc-reload-save-wrap {
    padding: 6px 11px !important;
    gap: 6px !important;
  }

  .rc-reload-save-wrap .rc-reload-label {
    font-size: 9.5px !important;
    letter-spacing: 0.08em !important;
  }
}

.rc-reload-save-wrap.is-saving,
.rc-reload-save-wrap:disabled {
  opacity: 0.88 !important;
  pointer-events: none !important;
  cursor: wait !important;
  border-color: rgba(var(--odei-color-jade-rgb), 0.42) !important;
}

.rc-reload-save-wrap.is-saving .rc-reload-icon {
  animation: spin 0.75s linear infinite;
  stroke: rgba(var(--odei-color-gold-rgb), 0.92);
}

.rc-header-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  border: 1px solid var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.4));
  background: radial-gradient(
    circle at 30% 30%,
    var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.32)),
    rgba(10, 16, 27, 0.92)
  );
  box-shadow:
    0 12px 24px rgba(0, 0, 0, 0.35),
    0 0 18px var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.3)),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.rc-header-icon svg {
  width: 20px;
  height: 20px;
}

.health-header-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  border: 1px solid var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.4));
  background: radial-gradient(
    circle at 30% 30%,
    var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.32)),
    rgba(10, 16, 27, 0.92)
  );
  box-shadow:
    0 12px 24px rgba(0, 0, 0, 0.35),
    0 0 18px var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.3)),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.health-header-icon svg {
  width: 20px;
  height: 20px;
}

#health-header-refresh-btn,
#toggle-health-dashboard-btn,
#show-conversations-btn,
#show-health-dashboard-btn {
  background: var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.18)) !important;
  border-color: var(--panel-accent-strong, rgba(var(--odei-color-jade-rgb), 0.4)) !important;
  color: var(--panel-ink, rgba(232, 236, 244, 0.96)) !important;
  box-shadow:
    0 8px 18px rgba(0, 0, 0, 0.35),
    0 0 16px var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.2)) !important;
}

#health-header-refresh-btn:hover,
#toggle-health-dashboard-btn:hover,
#show-conversations-btn:hover,
#show-health-dashboard-btn:hover {
  background: var(--panel-accent-strong, rgba(var(--odei-color-jade-rgb), 0.32)) !important;
  border-color: var(--panel-accent-strong, rgba(var(--odei-color-jade-rgb), 0.5)) !important;
  color: #ffffff !important;
}

#health-dashboard-section .health-dashboard-header p {
  color: var(--panel-accent, rgba(var(--odei-color-jade-rgb), 0.82));
  opacity: 0.85;
}

.health-agent-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 4px 6px;
}

.health-agent-row::before {
  content: 'Agent';
  align-self: center;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(9, 13, 22, 0.6);
  color: var(--text-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.health-agent-pill {
  --pill-accent: currentColor;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(9, 13, 22, 0.75);
  color: var(--text-secondary);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s ease;
}

.health-agent-pill .pill-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--pill-accent, currentColor);
  box-shadow: 0 0 10px var(--pill-accent, currentColor);
}

.health-agent-pill[data-agent='commander'] {
  color: var(--agent-commander);
  --pill-accent: var(--agent-commander);
}

.health-agent-pill[data-agent='plan'] {
  color: var(--agent-plan);
  --pill-accent: var(--agent-plan);
}

.health-agent-pill[data-agent='execute'] {
  color: var(--agent-execute);
  --pill-accent: var(--agent-execute);
}

.health-agent-pill[data-agent='builder'] {
  color: var(--agent-builder);
  --pill-accent: var(--agent-builder);
}

#sidebar[data-active-agent='commander'] .health-agent-pill[data-agent='commander'],
#sidebar[data-active-agent='plan'] .health-agent-pill[data-agent='plan'],
#sidebar[data-active-agent='execute'] .health-agent-pill[data-agent='execute'],
#sidebar[data-active-agent='builder'] .health-agent-pill[data-agent='builder'] {
  background: linear-gradient(
    130deg,
    var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.18)),
    rgba(9, 16, 27, 0.9)
  );
  border-color: var(--panel-accent-strong, rgba(var(--odei-color-jade-rgb), 0.35));
  color: var(--panel-ink, rgba(232, 236, 244, 0.96));
  box-shadow:
    0 8px 18px rgba(0, 0, 0, 0.35),
    0 0 16px var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.25));
}

.health-agent-pill:hover {
  border-color: rgba(255, 255, 255, 0.16);
  transform: translateY(-1px);
}

.health-agent-pill:focus-visible {
  outline: 2px solid var(--panel-accent-strong, rgba(var(--odei-color-jade-rgb), 0.45));
  outline-offset: 2px;
}

.rc-session-hud {
  position: relative;
  margin: 8px 12px 0;
  padding: 8px;
  border-radius: 12px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.28);
  background:
    radial-gradient(circle at 12% 12%, rgba(var(--odei-color-jade-rgb), 0.18), transparent 55%),
    radial-gradient(circle at 88% 82%, rgba(var(--odei-color-gold-rgb), 0.16), transparent 60%),
    linear-gradient(150deg, rgba(8, 13, 26, 0.96), rgba(7, 12, 24, 0.92));
  box-shadow:
    0 10px 20px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.08);
  overflow: hidden;
}

.rc-session-hud::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px),
    linear-gradient(60deg, rgba(var(--odei-color-jade-rgb), 0.05) 1px, transparent 1px);
  background-size: 220px 220px;
  opacity: 0.35;
}

.rc-hud-top {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 6px;
}

.rc-hud-block {
  min-width: 0;
  padding: 5px 6px;
  border-radius: 11px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(7, 12, 24, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.rc-hud-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 3px;
}

.rc-hud-value-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.rc-hud-agent-pill {
  --hud-accent: var(--agent-commander);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--hud-accent) 45%, transparent);
  background: color-mix(in srgb, var(--hud-accent) 16%, rgba(9, 14, 26, 0.9));
  color: color-mix(in srgb, var(--hud-accent) 72%, #e6fffa);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  box-shadow:
    0 6px 14px rgba(0, 0, 0, 0.32),
    0 0 12px color-mix(in srgb, var(--hud-accent) 24%, transparent);
}

.rc-hud-agent-name {
  display: inline-flex;
  align-items: center;
}

.rc-hud-agent-provider {
  display: inline-flex;
  align-items: center;
  padding-left: 6px;
  margin-left: 2px;
  border-left: 1px solid color-mix(in srgb, var(--hud-accent) 48%, transparent);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  opacity: 0.82;
}

.rc-hud-agent-pill[data-agent='plan'] {
  --hud-accent: var(--agent-plan);
}

.rc-hud-agent-pill[data-agent='execute'] {
  --hud-accent: var(--agent-execute);
}

.rc-hud-agent-pill[data-agent='builder'] {
  --hud-accent: var(--agent-builder);
}

.rc-hud-status-pill {
  display: inline-flex;
  align-items: center;
  padding: 3px 7px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(9, 14, 26, 0.75);
  color: var(--text-secondary);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.rc-hud-status-pill.running {
  border-color: rgba(52, 211, 153, 0.55);
  background: rgba(16, 185, 129, 0.18);
  color: rgba(110, 255, 205, 0.96);
  box-shadow: 0 0 18px rgba(52, 211, 153, 0.28);
}

.rc-hud-thread-btn {
  width: 100%;
  text-align: left;
  padding: 6px 8px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(150deg, rgba(10, 16, 30, 0.92), rgba(8, 13, 26, 0.92));
  color: rgba(226, 232, 240, 0.96);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.35;
  transition: all 0.2s ease;
}

.rc-hud-thread-btn:hover:not(:disabled),
.rc-hud-thread-btn:focus-visible:not(:disabled) {
  border-color: rgba(var(--odei-color-jade-rgb), 0.5);
  transform: translateY(-1px);
  box-shadow:
    0 14px 22px rgba(0, 0, 0, 0.46),
    0 0 16px rgba(var(--odei-color-jade-rgb), 0.2);
}

.rc-hud-thread-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.rc-hud-thread-meta {
  margin-top: 4px;
  font-size: 10px;
  color: var(--text-muted);
  letter-spacing: 0.02em;
}

.rc-hud-actions {
  position: relative;
  z-index: 1;
  margin-top: 5px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.rc-hud-btn {
  flex: 1 1 82px;
  min-width: 82px;
  padding: 5px 8px;
  border-radius: 10px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.4);
  background: linear-gradient(135deg, rgba(var(--odei-color-jade-rgb), 0.32), rgba(var(--odei-color-gold-rgb), 0.24));
  color: #ecfeff;
  font-size: 9.8px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: all 0.2s ease;
  box-shadow:
    0 10px 20px rgba(0, 0, 0, 0.4),
    0 0 12px rgba(var(--odei-color-jade-rgb), 0.16);
}

.rc-hud-btn:hover:not(:disabled),
.rc-hud-btn:focus-visible:not(:disabled) {
  transform: translateY(-1px);
  border-color: rgba(var(--odei-color-jade-rgb), 0.7);
  box-shadow:
    0 20px 32px rgba(0, 0, 0, 0.52),
    0 0 22px rgba(var(--odei-color-jade-rgb), 0.28);
}

.rc-hud-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.rc-hud-btn-ghost {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(9, 14, 26, 0.82);
  color: var(--text-secondary);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 12px 20px rgba(0, 0, 0, 0.4);
}

.rc-hud-btn-ghost:hover:not(:disabled),
.rc-hud-btn-ghost:focus-visible:not(:disabled) {
  border-color: rgba(var(--odei-color-jade-rgb), 0.45);
  color: var(--text-primary);
}

.rc-hud-btn.is-pinned {
  border-color: rgba(var(--odei-color-gold-rgb), 0.55);
  color: rgba(255, 245, 208, 0.98);
}

.rc-hud-resume-row {
  position: relative;
  z-index: 1;
  margin-top: 6px;
  display: flex;
  align-items: center;
  gap: 5px;
}

.rc-hud-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
}

.rc-hud-chip {
  --hud-accent: var(--agent-commander);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(9, 14, 26, 0.82);
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: all 0.18s ease;
  min-height: 28px;
}

.rc-hud-chip[data-agent='plan'] {
  --hud-accent: var(--agent-plan);
}

.rc-hud-chip[data-agent='execute'] {
  --hud-accent: var(--agent-execute);
}

.rc-hud-chip[data-agent='builder'] {
  --hud-accent: var(--agent-builder);
}

.rc-hud-chip:hover:not(:disabled),
.rc-hud-chip:focus-visible:not(:disabled) {
  border-color: color-mix(in srgb, var(--hud-accent) 55%, transparent);
  color: var(--text-primary);
  transform: translateY(-1px);
  box-shadow:
    0 14px 22px rgba(0, 0, 0, 0.46),
    0 0 18px color-mix(in srgb, var(--hud-accent) 26%, transparent);
}

.rc-hud-chip.is-empty {
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none;
}

.rc-hud-chip-dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--hud-accent);
  box-shadow: 0 0 12px color-mix(in srgb, var(--hud-accent) 70%, transparent);
}

.rc-hud-chip-time {
  font-size: 9.5px;
  color: var(--text-muted);
  letter-spacing: 0.03em;
}

@media (max-width: 1280px) {
  .rc-hud-top {
    grid-template-columns: 1fr;
  }
}

.conversation-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.conversation-filter-row.rc-filter-row-minimal {
  gap: 6px;
  margin-top: 2px;
}

.conversation-filter-row::before {
  content: 'Filter';
  align-self: center;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(9, 13, 22, 0.6);
  color: var(--text-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.conversation-filter-row.rc-filter-row-minimal::before {
  display: none;
}

.rc-search-field {
  position: relative;
  display: flex;
  align-items: center;
}

.rc-search-icon {
  position: absolute;
  left: 12px;
  width: 14px;
  height: 14px;
  color: var(--text-muted);
  opacity: 0.7;
  pointer-events: none;
  transition:
    color 0.2s ease,
    opacity 0.2s ease;
}

.rc-search-clear {
  position: absolute;
  right: 10px;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(9, 14, 26, 0.7);
  color: var(--text-secondary);
  display: grid;
  place-items: center;
  opacity: 0;
  pointer-events: none;
  transform: scale(0.88);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.rc-search-clear svg {
  width: 14px;
  height: 14px;
}

.rc-search-input:not(:-moz-placeholder) ~ .rc-search-clear {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}

.rc-search-input:not(:placeholder-shown) ~ .rc-search-clear {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}

.rc-search-field:focus-within .rc-search-icon {
  color: var(--panel-accent, rgba(var(--odei-color-jade-rgb), 0.95));
  opacity: 1;
}

.rc-search-clear:hover {
  border-color: var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.35));
  color: var(--panel-ink, rgba(232, 236, 244, 0.96));
}

.rc-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
  padding: 0 2px;
  font-size: 11px;
}

.rc-count {
  color: var(--text-secondary);
  font-weight: 600;
  letter-spacing: 0.02em;
}

.rc-count.is-empty {
  color: rgba(248, 113, 113, 0.9);
}

.rc-filter-label {
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(9, 13, 22, 0.65);
  color: var(--text-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.rc-filter-label.is-empty {
  display: none;
}

.rc-filter-label.is-filtered {
  border-color: var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.35));
  color: var(--text-secondary);
}

.rc-filter-label.is-searching {
  border-color: var(--panel-contrast-soft, rgba(var(--odei-color-gold-rgb), 0.4));
  color: var(--panel-contrast, rgba(var(--odei-color-gold-rgb), 0.95));
}

.rc-filter-row-minimal.is-hidden {
  display: none;
}

.conversation-filter-pill {
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(9, 13, 22, 0.75);
  color: var(--text-secondary);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s ease;
}

.conversation-filter-pill:hover {
  border-color: var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.35));
  color: var(--panel-ink, rgba(232, 236, 244, 0.96));
}

.conversation-filter-pill.active {
  background: linear-gradient(
    130deg,
    var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.2)),
    rgba(9, 16, 27, 0.9)
  );
  border-color: var(--panel-accent-strong, rgba(var(--odei-color-jade-rgb), 0.45));
  color: var(--panel-ink, rgba(232, 236, 244, 0.96));
  box-shadow:
    0 8px 18px rgba(0, 0, 0, 0.35),
    0 0 12px var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.25));
}

.conversation-filter-pill:focus-visible {
  outline: 2px solid var(--panel-accent-strong, rgba(var(--odei-color-jade-rgb), 0.45));
  outline-offset: 2px;
}

.conversation-search {
  padding: 12px 38px 12px 36px !important;
  background: rgba(10, 16, 30, 0.96) !important;
  border: 1px solid var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.24)) !important;
  color: var(--text-primary) !important;
  font-size: 12px !important;
  border-radius: 12px !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 12px 22px rgba(0, 0, 0, 0.42);
}

.conversation-search:focus {
  border-color: var(--panel-accent-strong, rgba(var(--odei-color-jade-rgb), 0.45)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 0 2px rgba(4, 8, 16, 0.7),
    0 0 16px var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.25));
}

.conversation-search::-moz-placeholder {
  color: rgba(148, 163, 184, 0.72);
  letter-spacing: 0.01em;
}

.conversation-search::placeholder {
  color: rgba(148, 163, 184, 0.72);
  letter-spacing: 0.01em;
}

.rc-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.rc-icon-md {
  width: 18px;
  height: 18px;
}

/* Recent Conversations grouping */

.rc-group-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 14px 4px 10px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(8, 12, 22, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rc-group-marker {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--panel-accent, var(--accent-primary));
  box-shadow: 0 0 8px var(--panel-accent-soft, var(--accent-primary-soft));
}

.rc-group-title {
  color: var(--text-secondary);
  letter-spacing: 0.09em;
}

.rc-group-meta {
  margin-left: auto;
  font-weight: 700;
  font-size: 10px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(9, 14, 26, 0.75);
  color: var(--text-muted);
  opacity: 0.85;
}

.rc-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 16px 4px 8px;
  padding: 8px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(8, 13, 24, 0.78);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rc-section-header-active {
  border-color: rgba(var(--odei-color-jade-rgb), 0.45);
  background: linear-gradient(135deg, rgba(var(--odei-color-jade-rgb), 0.18), rgba(9, 16, 28, 0.9));
  color: rgba(205, 255, 245, 0.96);
  box-shadow:
    0 16px 26px rgba(0, 0, 0, 0.46),
    0 0 18px rgba(var(--odei-color-jade-rgb), 0.2);
}

.rc-section-header-pinned {
  border-color: rgba(var(--odei-color-gold-rgb), 0.45);
  background: linear-gradient(135deg, rgba(var(--odei-color-gold-rgb), 0.18), rgba(10, 16, 28, 0.92));
  color: rgba(255, 244, 212, 0.96);
  box-shadow:
    0 16px 26px rgba(0, 0, 0, 0.46),
    0 0 18px rgba(var(--odei-color-gold-rgb), 0.2);
}

.rc-group-header,
.rc-section-header {
  position: relative;
  top: auto;
  z-index: 1;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.rc-section-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.rc-section-marker {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 0 14px currentColor;
}

.rc-section-meta {
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(8, 13, 24, 0.62);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--text-secondary);
}

.rc-section-header-active .rc-section-meta {
  border-color: rgba(var(--odei-color-jade-rgb), 0.45);
  color: rgba(208, 255, 245, 0.96);
}

.rc-section-header-pinned .rc-section-meta {
  border-color: rgba(var(--odei-color-gold-rgb), 0.5);
  color: rgba(255, 244, 212, 0.96);
}

#recent-conversations-list .conversation-row {
  --rc-accent: var(--agent-commander);
  --rc-accent-soft: var(--agent-commander-soft);
  --rc-accent-strong: var(--agent-commander-strong);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) max-content;
  align-items: start;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.14));
  background: linear-gradient(160deg, rgba(9, 14, 26, 0.78), rgba(7, 11, 22, 0.84));
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.32);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  margin-bottom: 8px;
}

#recent-conversations-list .conversation-row::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 10px;
  bottom: 10px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--rc-accent-strong, rgba(var(--odei-color-jade-rgb), 0.65)), transparent 85%);
  opacity: 0.55;
  transition: opacity 0.2s ease;
}

#recent-conversations-list .conversation-row::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.04);
  pointer-events: none;
}

#recent-conversations-list .conversation-row:hover {
  transform: translateY(-2px);
  border-color: var(--rc-accent-strong, rgba(var(--odei-color-gold-rgb), 0.4));
  background: linear-gradient(160deg, rgba(12, 18, 32, 0.78), rgba(8, 13, 26, 0.85));
  overflow: visible;
  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.45),
    0 0 0 1px var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.14));
}

#recent-conversations-list .conversation-row:hover::before,
#recent-conversations-list .conversation-row.is-active::before {
  opacity: 0.9;
}

#recent-conversations-list .conversation-row.is-active {
  border-color: var(--rc-accent-strong, rgba(var(--odei-color-jade-rgb), 0.55));
  background: linear-gradient(160deg, rgba(12, 19, 34, 0.86), rgba(8, 14, 28, 0.9));
  box-shadow:
    0 18px 32px rgba(0, 0, 0, 0.52),
    0 0 0 1px var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.2));
}

#recent-conversations-list .conversation-row.is-active-section {
  border-color: var(--rc-accent-strong, rgba(var(--odei-color-jade-rgb), 0.62));
  background: linear-gradient(155deg, rgba(12, 21, 38, 0.9), rgba(8, 15, 30, 0.94));
  box-shadow:
    0 22px 36px rgba(0, 0, 0, 0.56),
    0 0 0 1px var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.26)),
    0 0 28px var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.24));
}

#recent-conversations-list .conversation-row.is-active-section::before {
  opacity: 1;
}

#recent-conversations-list .conversation-row.is-pinned {
  border-color: rgba(var(--odei-color-gold-rgb), 0.45);
  background: linear-gradient(160deg, rgba(16, 23, 38, 0.9), rgba(10, 16, 28, 0.92));
  box-shadow:
    0 18px 32px rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(var(--odei-color-gold-rgb), 0.18),
    0 0 24px rgba(var(--odei-color-gold-rgb), 0.16);
}

#recent-conversations-list .conversation-row.is-pinned::before {
  background: linear-gradient(
    180deg,
    rgba(var(--odei-color-gold-rgb), 0.9),
    rgba(var(--odei-color-gold-rgb), 0.15) 85%
  );
  opacity: 0.92;
}

#recent-conversations-list .conversation-row:active {
  transform: translateY(-1px);
}

#recent-conversations-list .conversation-row:focus-within {
  overflow: visible;
}

.rc-agent-icon {
  position: relative;
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  background: radial-gradient(
    circle at 30% 30%,
    var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.22)),
    rgba(10, 16, 27, 0.92)
  );
  border-radius: 12px;
  border: 1px solid var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.3));
}

.conversation-row.is-active .rc-agent-icon {
  border-color: var(--rc-accent-strong, rgba(var(--odei-color-jade-rgb), 0.6));
  box-shadow: 0 0 14px var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.28));
}

.rc-agent-icon-glow {
  position: absolute;
  inset: 0;
  border-radius: 12px;
  opacity: 0.4;
  filter: blur(12px);
  transition: opacity 0.3s ease;
  background: radial-gradient(
    circle at 30% 30%,
    var(--rc-accent-strong, rgba(var(--odei-color-jade-rgb), 0.4)),
    rgba(15, 23, 42, 0.25)
  );
}

.conversation-row:hover .rc-agent-icon-glow {
  opacity: 0.7;
}

.rc-agent-icon-inner {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.95);
  font-size: 18px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
  border: 1px solid var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.35));
  background: linear-gradient(
    140deg,
    var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.3)),
    rgba(9, 16, 27, 0.95)
  );
}

.rc-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  padding-top: 2px;
}

.rc-topline {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.rc-agent-name {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rc-accent, var(--text-secondary));
}

.rc-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  border-radius: 9999px;
  font-size: 10px;
  font-weight: 600;
  border: 1px solid var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.22));
  background: rgba(9, 14, 26, 0.72);
  color: var(--text-secondary);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.rc-pin-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(var(--odei-color-gold-rgb), 0.45);
  background: rgba(var(--odei-color-gold-rgb), 0.16);
  color: rgba(255, 245, 212, 0.96);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: 0 0 16px rgba(var(--odei-color-gold-rgb), 0.22);
}

.rc-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--rc-accent, var(--accent-primary));
}

.rc-preview-text {
  color: rgba(226, 232, 240, 0.92);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  opacity: 0.9;
}

.rc-timestamp {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted);
  background: rgba(9, 14, 26, 0.62);
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.14));
  letter-spacing: 0.02em;
}

.rc-timestamp svg {
  color: var(--rc-accent, rgba(148, 163, 184, 0.9));
  opacity: 0.7;
  width: 12px;
  height: 12px;
}

.rc-preview-toggle {
  align-self: flex-start;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: 8px;
  border: 1px solid var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.3));
  background: linear-gradient(150deg, rgba(10, 16, 30, 0.92), rgba(9, 14, 26, 0.94));
  color: rgba(226, 232, 240, 0.9);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 8px 16px rgba(0, 0, 0, 0.42);
  transition: all 0.16s ease;
}

.conversation-row[data-agent='commander'] {
  --rc-accent: var(--agent-commander);
  --rc-accent-soft: var(--agent-commander-soft);
  --rc-accent-strong: var(--agent-commander-strong);
}

.conversation-row[data-agent='plan'] {
  --rc-accent: var(--agent-plan);
  --rc-accent-soft: var(--agent-plan-soft);
  --rc-accent-strong: var(--agent-plan-strong);
}

.conversation-row[data-agent='execute'] {
  --rc-accent: var(--agent-execute);
  --rc-accent-soft: var(--agent-execute-soft);
  --rc-accent-strong: var(--agent-execute-strong);
}

.conversation-row[data-agent='builder'] {
  --rc-accent: var(--agent-builder);
  --rc-accent-soft: var(--agent-builder-soft);
  --rc-accent-strong: var(--agent-builder-strong);
}

.rc-action-stack {
  --rc-action-size: 34px;
  --rc-action-radius: 11px;
  position: relative;
  z-index: 12;
  display: flex;
  gap: 6px;
  align-self: flex-end;
  align-items: center;
  padding-left: 0;
  padding-top: 0;
  justify-self: flex-end;
  min-width: -moz-max-content;
  min-width: max-content;
  flex-wrap: wrap;
  opacity: 0;
  transform: translateY(4px);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.rc-action-btn {
  position: relative;
  width: var(--rc-action-size);
  height: var(--rc-action-size);
  border-radius: var(--rc-action-radius) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  box-sizing: border-box;
  line-height: 1;
  font-size: 0;
  border: 1px solid var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.32)) !important;
  background: linear-gradient(160deg, rgba(8, 13, 26, 0.92), rgba(10, 16, 30, 0.92)) !important;
  color: rgba(226, 232, 240, 0.9) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 10px 18px rgba(0, 0, 0, 0.4);
  transition: all 0.18s ease;
  opacity: 0.9;
  flex-shrink: 0;
}

.rc-action-btn::before {
  content: attr(data-label);
  position: absolute;
  bottom: calc(100% + 6px);
  right: 0;
  z-index: 40;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.35));
  background: rgba(10, 16, 28, 0.92);
  color: var(--text-secondary);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(4px);
  transition:
    opacity 0.18s ease,
    transform 0.18s ease;
  pointer-events: none;
}

.rc-action-btn:hover::before,
.rc-action-btn:focus-visible::before {
  opacity: 1;
  transform: translateY(0);
}

.rc-action-btn:focus-visible {
  outline: 2px solid var(--rc-accent-strong, rgba(var(--odei-color-jade-rgb), 0.55));
  outline-offset: 2px;
}

.rc-action-btn .rc-action-icon {
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 2;
  pointer-events: none;
}

.rc-pin-btn {
  border-color: rgba(var(--odei-color-gold-rgb), 0.38) !important;
  background:
    radial-gradient(circle at 30% 25%, rgba(var(--odei-color-gold-rgb), 0.22), transparent 50%),
    linear-gradient(150deg, rgba(12, 18, 32, 0.95), rgba(9, 14, 26, 0.92)) !important;
  color: rgba(255, 243, 211, 0.94) !important;
  box-shadow:
    0 10px 18px rgba(0, 0, 0, 0.42),
    0 0 14px rgba(var(--odei-color-gold-rgb), 0.22);
}

.rc-pin-btn::before {
  border-color: rgba(var(--odei-color-gold-rgb), 0.45);
  color: rgba(255, 243, 211, 0.94);
}

.rc-pin-btn.pinned {
  border-color: rgba(var(--odei-color-gold-rgb), 0.72) !important;
  background:
    radial-gradient(circle at 30% 25%, rgba(var(--odei-color-gold-rgb), 0.35), transparent 55%),
    linear-gradient(150deg, rgba(18, 24, 38, 0.98), rgba(12, 18, 32, 0.96)) !important;
  color: rgba(255, 251, 232, 0.98) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 14px 24px rgba(0, 0, 0, 0.5),
    0 0 18px rgba(var(--odei-color-gold-rgb), 0.32);
}

.copy-conversation-btn {
  position: relative;
  overflow: hidden;
  border-radius: var(--rc-action-radius) !important;
  background:
    radial-gradient(
      circle at 30% 25%,
      var(--panel-contrast-soft, rgba(var(--odei-color-gold-rgb), 0.28)),
      transparent 45%
    ),
    radial-gradient(circle at 70% 70%, var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.32)), transparent 50%),
    linear-gradient(150deg, rgba(12, 18, 32, 0.95), rgba(9, 14, 26, 0.92));
  border: 1px solid var(--rc-accent-soft, rgba(var(--odei-color-gold-rgb), 0.32)) !important;
  color: rgba(240, 249, 255, 0.92) !important;
  box-shadow:
    0 10px 18px rgba(0, 0, 0, 0.42),
    0 0 14px var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.28));
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

.delete-conversation-btn {
  border-color: rgba(255, 123, 123, 0.35) !important;
  background:
    radial-gradient(circle at 30% 25%, rgba(255, 123, 123, 0.18), transparent 45%),
    linear-gradient(150deg, rgba(12, 18, 32, 0.95), rgba(9, 14, 26, 0.92)) !important;
  color: rgba(254, 226, 226, 0.9) !important;
  box-shadow:
    0 10px 18px rgba(0, 0, 0, 0.42),
    0 0 14px rgba(255, 123, 123, 0.2);
}

.delete-conversation-btn::before {
  border-color: rgba(255, 123, 123, 0.4);
  color: rgba(254, 226, 226, 0.9);
}

.delete-conversation-btn:hover {
  border-color: rgba(255, 123, 123, 0.6) !important;
  box-shadow:
    0 14px 24px rgba(0, 0, 0, 0.52),
    0 0 18px rgba(255, 123, 123, 0.3);
}

.copy-conversation-btn::before {
  content: '';
  position: absolute;
  inset: 2px;
  border-radius: calc(var(--rc-action-radius) - 2px);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.09), transparent 65%);
  opacity: 0.7;
  pointer-events: none;
}

.copy-conversation-btn .copy-check-icon {
  opacity: 0;
  transform: scale(0.82) translateY(6px);
  transition:
    opacity 0.18s ease,
    transform 0.18s ease;
}

.copy-conversation-btn .copy-icon {
  transition:
    opacity 0.18s ease,
    transform 0.18s ease;
}

.copy-conversation-btn .copy-pulse {
  position: absolute;
  inset: 2px;
  border-radius: calc(var(--rc-action-radius) - 2px);
  border: 1px solid var(--rc-accent-strong, rgba(var(--odei-color-jade-rgb), 0.6));
  box-shadow: 0 0 12px var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.25));
  opacity: 0;
  pointer-events: none;
}

.copy-conversation-btn:hover {
  transform: translateY(-2px) scale(1.03);
  border-color: var(--rc-accent-strong, rgba(var(--odei-color-gold-rgb), 0.55)) !important;
  box-shadow:
    0 14px 24px rgba(0, 0, 0, 0.52),
    0 0 18px var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.34));
}

.copy-conversation-btn:active {
  transform: translateY(0) scale(0.98);
}

.copy-conversation-btn .copy-pulse.animate {
  animation: copyPulse 0.7s ease;
}

.copy-conversation-btn::after {
  content: attr(data-copied-label);
  position: absolute;
  top: -12px;
  right: -6px;
  padding: 2px 8px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: rgba(15, 23, 42, 0.9);
  background: linear-gradient(
    135deg,
    var(--panel-contrast-strong, rgba(var(--odei-color-gold-rgb), 0.92)),
    var(--rc-accent-strong, rgba(var(--odei-color-jade-rgb), 0.95))
  );
  border-radius: 9999px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.35);
  opacity: 0;
  transform: translateY(-4px);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
  pointer-events: none;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.35);
}

.copy-conversation-btn.copied {
  color: rgba(255, 255, 255, 0.95) !important;
  border-color: var(--rc-accent-strong, rgba(var(--odei-color-gold-rgb), 0.75)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 12px 22px var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.4));
}

.copy-conversation-btn.copied .copy-icon {
  opacity: 0;
  transform: translateY(-6px) scale(0.82);
}

.copy-conversation-btn.copied .copy-check-icon {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.copy-conversation-btn.copied::after {
  opacity: 1;
  transform: translateY(0);
}

.copy-conversation-btn.copied::before {
  opacity: 0;
  transform: translateY(4px);
}

.rc-copy-toast {
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translate(-50%, 14px);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 14px;
  background: linear-gradient(140deg, rgba(12, 20, 32, 0.95), rgba(10, 16, 28, 0.9));
  border: 1px solid var(--rc-accent-strong, rgba(var(--odei-color-jade-rgb), 0.5));
  box-shadow:
    0 18px 30px rgba(0, 0, 0, 0.55),
    0 0 22px var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.25));
  color: rgba(226, 232, 240, 0.95);
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.22s ease,
    transform 0.22s ease;
  overflow: hidden;
  z-index: 12;
}

.rc-copy-toast.toast-success {
  border-color: rgba(var(--odei-color-jade-rgb), 0.6);
  box-shadow:
    0 18px 30px rgba(0, 0, 0, 0.55),
    0 0 26px rgba(var(--odei-color-jade-rgb), 0.3);
}

.rc-copy-toast.toast-info {
  border-color: rgba(148, 163, 184, 0.45);
}

.rc-copy-toast.toast-warning {
  border-color: rgba(var(--odei-color-gold-rgb), 0.65);
  box-shadow:
    0 18px 30px rgba(0, 0, 0, 0.55),
    0 0 26px rgba(var(--odei-color-gold-rgb), 0.28);
}

.rc-copy-toast.toast-error {
  border-color: rgba(248, 113, 113, 0.65);
  box-shadow:
    0 18px 30px rgba(0, 0, 0, 0.55),
    0 0 26px rgba(248, 113, 113, 0.28);
}

.rc-copy-toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}

.rc-copy-toast-glow {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 30%, rgba(var(--odei-color-jade-rgb), 0.25), transparent 55%),
    radial-gradient(circle at 70% 70%, rgba(var(--odei-color-gold-rgb), 0.2), transparent 60%);
  filter: blur(12px);
  opacity: 0.8;
}

.rc-copy-toast-inner {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  z-index: 1;
}

.rc-copy-toast-dot {
  width: 10px;
  height: 10px;
  border-radius: 9999px;
  background: linear-gradient(135deg, rgba(var(--odei-color-gold-rgb), 0.95), rgba(var(--odei-color-jade-rgb), 0.9));
  box-shadow: 0 0 12px rgba(var(--odei-color-gold-rgb), 0.6);
}

.rc-copy-toast.toast-error .rc-copy-toast-dot {
  background: linear-gradient(135deg, rgba(248, 113, 113, 0.95), rgba(251, 191, 36, 0.9));
  box-shadow: 0 0 12px rgba(248, 113, 113, 0.6);
}

.rc-copy-toast-text {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

@keyframes copyPulse {
  0% {
    opacity: 0.7;
    transform: scale(0.65);
  }

  70% {
    opacity: 0.2;
    transform: scale(1.2);
  }

  100% {
    opacity: 0;
    transform: scale(1.35);
  }
}

.rc-action-icon {
  width: 15px;
  height: 15px;
  display: block;
  transform-origin: center;
}

.conversation-row:hover .rc-action-btn {
  opacity: 1;
  transform: translateY(-1px) scale(1.02);
  border-color: var(--rc-accent-strong, rgba(var(--odei-color-gold-rgb), 0.55)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 12px 22px rgba(0, 0, 0, 0.45);
}

.conversation-row:focus-within .rc-action-btn {
  opacity: 1;
  transform: translateY(-1px) scale(1.02);
  border-color: var(--rc-accent-strong, rgba(var(--odei-color-gold-rgb), 0.55)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 12px 22px rgba(0, 0, 0, 0.45);
}

.conversation-row:hover .rc-action-stack,
.conversation-row:focus-within .rc-action-stack,
.conversation-row.is-active .rc-action-stack {
  opacity: 1;
  transform: translateY(0);
}

.conversation-row.is-pinned .rc-action-stack,
.conversation-row.is-active-section .rc-action-stack {
  opacity: 1;
  transform: none;
}

@media (hover: none) and (pointer: coarse) {
  .rc-action-stack {
    opacity: 1;
    transform: none;
  }
}

#sidebar-default-view {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(12px, 2vw, 18px);
  padding: clamp(12px, 2vw, 18px);
  box-sizing: border-box;
}

#sidebar-default-view > * {
  min-width: 0;
}

#recent-conversations-section {
  grid-column: 1 / -1;
}

/* === Resizer === */

/* Absolutely-positioned to sit at the left edge of the sidebar overlay.
   ViewRouter/SidebarManager sync `right` to match sidebar width. */

.resizer {
  position: absolute;
  z-index: 21;
  top: 0;
  bottom: 0;
  width: 6px;
  background: linear-gradient(180deg, rgba(var(--odei-color-jade-rgb), 0.14), rgba(var(--odei-color-gold-rgb), 0.14));
  border-left: 1px solid rgba(var(--odei-color-jade-rgb), 0.28);
  border-right: 1px solid rgba(var(--odei-color-jade-rgb), 0.28);
  cursor: col-resize;
  /* CRITICAL: Only transition hover-visual properties, NOT 'right' position.
     'transition: all' caused the resizer line to SLIDE 200ms when its right
     position was set via JS — this was the root cause of the sidebar slide-in bug. */
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.resizer:hover {
  background: linear-gradient(180deg, rgba(var(--odei-color-jade-rgb), 0.3), rgba(var(--odei-color-gold-rgb), 0.3));
  border-color: rgba(var(--odei-color-jade-rgb), 0.6);
  box-shadow:
    0 0 20px rgba(var(--odei-color-jade-rgb), 0.28),
    0 0 0 1px rgba(var(--odei-color-gold-rgb), 0.18);
}

.resizer::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2px;
  height: 60px;
  background: linear-gradient(180deg, rgba(var(--odei-color-jade-rgb), 0.8), rgba(var(--odei-color-gold-rgb), 0.7));
  border-radius: 2px;
  opacity: 1;
  transition:
    opacity 0.2s ease,
    height 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease;
}

.resizer:hover::after {
  opacity: 1;
  height: 80px;
  background: linear-gradient(180deg, rgba(var(--odei-color-jade-rgb), 1), rgba(var(--odei-color-gold-rgb), 0.9));
  box-shadow: 0 0 10px rgba(var(--odei-color-jade-rgb), 0.5);
}

/* === Status Bar === */

.bg-gray-900.border-t {
  background: linear-gradient(180deg, rgba(10, 14, 28, 0.95), rgba(2, 4, 10, 0.92)) !important;
  /* backdrop-filter: blur(26px) saturate(180%); */
  border-top: 1px solid rgba(var(--odei-color-jade-rgb), 0.25) !important;
  box-shadow: 0 -18px 36px rgba(2, 6, 23, 0.65);
  position: relative;
  padding-block: clamp(8px, 1.6vh, 12px) !important;
  padding-inline: clamp(16px, 3vw, 32px) !important;
  color: var(--text-secondary);
}

.bg-gray-900.border-t::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(var(--odei-color-jade-rgb), 0.18) 0%, transparent 70%);
  pointer-events: none;
}

.bg-gray-900.border-t .text-gray-400,
.bg-gray-900.border-t .text-gray-500 {
  color: var(--text-muted) !important;
}

.agent-status-row {
  padding: 4px 8px;
  border-radius: 8px;
  transition:
    background 0.2s ease,
    transform 0.2s ease;
}

.agent-status-row:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  transform: translateY(-1px);
}

.agent-status {
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* === Agent Status === */

.agent-status,
.agent-status-dot,
.health-ok,
.health-error,
.health-unknown {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  font-size: 0;
  text-shadow: none;
  transition: all 0.2s ease;
  color: transparent;
  flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(226, 232, 240, 0.45);
  box-shadow: 0 0 6px rgba(148, 163, 184, 0.25);
}

.agent-status.running,
.agent-status-dot.running,
.health-ok {
  background: var(--accent-emerald);
  box-shadow: 0 0 10px rgba(52, 211, 153, 0.6);
}

.agent-status.stopped,
.agent-status-dot.stopped,
.health-error {
  background: var(--accent-danger);
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.55);
}

.agent-status-dot {
  background: rgba(226, 232, 240, 0.45);
}

.health-unknown {
  background: var(--text-muted);
  box-shadow: 0 0 8px rgba(var(--odei-color-jade-rgb), 0.25);
}

/* Health Indicator Dots (Footer) */

.health-indicator {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--text-muted);
  transition: all 0.3s ease;
  box-shadow: 0 0 6px rgba(148, 163, 184, 0.3);
}

.health-indicator.ok {
  background: var(--accent-emerald);
  box-shadow: 0 0 12px rgba(52, 211, 153, 0.7);
}

.health-indicator.error {
  background: var(--accent-danger);
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.7);
  animation: pulse-error 2s ease-in-out infinite;
}

.health-indicator.unknown {
  background: var(--text-muted);
  box-shadow: 0 0 8px rgba(148, 163, 184, 0.4);
}

@keyframes pulse-error {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.5;
  }
}

/* === Memory View === */

/*
 * SCROLL FIX: Memory Atlas scrolling
 *
 * Hierarchy: body > flex-container(overflow-hidden) > #terminal-area(flex-1) > #memory-view(absolute inset-0)
 *
 * For scroll to work:
 * 1. Keep flex-container overflow-hidden (constrains height)
 * 2. Keep #terminal-area flex-1 (fills available space)
 * 3. #memory-view is absolute inset-0 (fills terminal-area) with overflow-y: auto
 * 4. .memory-container has height:auto (sizes to content, NOT min-height:100%)
 * 5. When content exceeds #memory-view height, it scrolls
 */

/* Memory view: FORCE to stay within parent and scroll */

#memory-view {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow-y: auto !important;
  /* Page scrolls when content exceeds viewport */
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
}

.memory-glass-bg {
  background: var(--color-pure-black);
  position: relative;
  overflow: hidden;
  /* No scroll here - panels scroll independently */
}

.memory-glass-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.03), transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.02), transparent 50%);
  pointer-events: none;
}

.memory-container {
  display: grid;
  grid-template-columns: minmax(220px, 24vw) 8px minmax(200px, 1fr) 8px minmax(240px, 26vw);
  grid-template-rows: 1fr;
  align-items: stretch;
  /* All columns stretch - graph grows with left panel */
  width: 100%;
  min-height: 100%;
  /* At minimum fill viewport, can grow to scroll */
  gap: 0;
  padding: var(--memory-gap);
  position: relative;
  box-sizing: border-box;
}

.memory-container > * {
  min-width: 0;
  min-height: 0;
}

/* === Memory Panels === */

.memory-panel {
  display: flex;
  flex-direction: column;
  background: var(--glass-bg);
  /* backdrop-filter: blur(30px); */
  border: 1px solid var(--glass-border);
  border-radius: var(--memory-card-radius);
  box-shadow: var(--shadow-md);
  padding: var(--memory-panel-padding);
  overflow: visible;
  /* Content expands, page scrolls */
  position: relative;
  min-height: 0;
}

.memory-panel::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, transparent 100%);
  pointer-events: none;
}

.memory-panel-left {
  border-right: none;
  border-top: none;
  border-bottom: none;
  box-shadow: var(--shadow-md);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  container-type: size;
  container-name: memoryFilters;
  --memory-panel-padding: clamp(10px, 1.2vw, 14px);
  --memory-section-spacing: clamp(8px, 1.1vh, 12px);
  --memory-gap: clamp(8px, 1.2vw, 12px);
  font-size: 0.95rem;
}

.memory-panel-left.collapsed {
  display: none;
}

.memory-container:has(.memory-panel-left.collapsed) {
  grid-template-columns: minmax(200px, 1fr) 8px minmax(240px, 26vw);
}

.memory-container:has(.memory-panel-left.collapsed):has(.memory-panel-right.collapsed) {
  grid-template-columns: minmax(200px, 1fr);
}

.memory-container:not(:has(.memory-panel-left)) {
  grid-template-columns: minmax(200px, 1fr) 8px minmax(240px, 26vw);
}

.memory-container:not(:has(.memory-panel-left)):has(.memory-panel-right.collapsed) {
  grid-template-columns: minmax(200px, 1fr);
}

.memory-container:has(.memory-panel-left.collapsed) #resize-handle-left {
  display: none;
}

.memory-expand-btn {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  background: var(--glass-bg);
  /* backdrop-filter: blur(12px); */
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  color: var(--color-silver);
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: var(--shadow-md);
}

.memory-expand-btn:hover {
  background: var(--glass-bg-hover);
  border-color: var(--glass-border-bright);
  color: var(--color-pure-white);
  box-shadow: var(--shadow-lg);
}

.memory-expand-btn-right {
  left: auto;
  right: 20px;
}

.memory-panel-right {
  border-left: none;
  border-top: none;
  border-bottom: none;
  box-shadow: var(--shadow-md);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.memory-panel-right.collapsed {
  display: none;
}

.memory-container:has(.memory-panel-right.collapsed) {
  grid-template-columns: minmax(220px, 24vw) 8px minmax(200px, 1fr);
}

.memory-container:has(.memory-panel-right.collapsed) #resize-handle-right {
  display: none;
}

.memory-main {
  display: flex;
  flex-direction: column;
  gap: var(--memory-gap);
  min-height: 0;
  min-width: 0;
  /* height stretches via grid align-items: stretch */
  overflow: visible;
  /* Content can expand */
  background: var(--glass-bg);
  /* backdrop-filter: blur(30px); */
  border: 1px solid var(--glass-border);
  border-radius: var(--memory-card-radius);
  box-shadow: var(--shadow-md);
  padding: var(--memory-padding);
  position: relative;
}

.memory-main-content {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 1.6vw, 18px);
  flex: 1 1 auto;
  /* Grow to fill available space */
  min-height: 0;
  min-width: 0;
  width: 100%;
  height: 100%;
  /* Fill parent height */
}

/* === Memory Panel Header === */

.memory-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: calc(var(--memory-section-spacing) * 0.9);
  padding-bottom: clamp(10px, 1.4vh, 14px);
  border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.22);
}

.memory-panel-heading {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.memory-panel-title {
  font-size: 20px;
  font-weight: 600;
  color: var(--color-pure-white);
  letter-spacing: -0.5px;
  margin: 0;
  text-shadow: var(--shadow-glow);
}

.memory-panel-subtitle {
  font-size: 12px;
  color: var(--color-pale-gray);
  margin: 0;
  letter-spacing: 0.08em;
}

.memory-panel-left .memory-panel-title {
  font-size: clamp(16px, 1.6vw, 18px);
}

.memory-panel-left .memory-panel-subtitle {
  font-size: 11px;
  letter-spacing: 0.06em;
}

.memory-header-pill {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 4px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  box-shadow: var(--shadow-sm);
}

.memory-header-pill-divider {
  width: 1px;
  height: 24px;
  background: rgba(var(--odei-color-jade-rgb), 0.22);
  margin: 0 4px;
  border-radius: 999px;
}

.memory-icon-btn {
  padding: 0;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: var(--text-secondary);
  background: transparent;
}

.memory-icon-btn:hover {
  color: var(--text-primary);
  box-shadow: var(--shadow-sm);
}

/* === Buttons === */

.ghost-btn,
.primary-btn,
.memory-circle-btn {
  background: linear-gradient(155deg, rgba(19, 27, 49, 0.85), rgba(10, 16, 34, 0.78));
  /* backdrop-filter: blur(14px); */
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.26);
  border-radius: 10px;
  padding: 8px 14px;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-weight: 500;
  letter-spacing: 0.04em;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 14px 28px rgba(2, 6, 23, 0.5);
}

.ghost-btn:hover,
.primary-btn:hover {
  background: linear-gradient(155deg, rgba(26, 36, 65, 0.9), rgba(12, 20, 38, 0.92));
  border-color: rgba(var(--odei-color-jade-rgb), 0.48);
  transform: translateY(-1px) scale(1.01);
  box-shadow:
    var(--shadow-sm),
    0 18px 34px rgba(5, 10, 25, 0.55);
}

.primary-btn {
  background: linear-gradient(150deg, rgba(var(--odei-color-jade-rgb), 0.34), rgba(var(--odei-color-gold-rgb), 0.32));
  color: var(--text-primary);
  border-color: rgba(var(--odei-color-jade-rgb), 0.6);
  font-weight: 600;
}

.primary-btn:hover {
  background: linear-gradient(150deg, rgba(var(--odei-color-jade-rgb), 0.55), rgba(var(--odei-color-gold-rgb), 0.45));
  border-color: rgba(var(--odei-color-jade-rgb), 0.75);
  box-shadow:
    var(--shadow-md),
    0 0 24px rgba(var(--odei-color-jade-rgb), 0.32);
}

.memory-circle-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-size: 18px;
  font-weight: 600;
  background: linear-gradient(135deg, rgba(var(--odei-color-jade-rgb), 0.42), rgba(var(--odei-color-gold-rgb), 0.28));
  border-color: var(--glass-border-bright);
  color: var(--text-primary);
  box-shadow:
    0 16px 38px rgba(0, 0, 0, 0.45),
    0 0 16px rgba(var(--odei-color-jade-rgb), 0.28);
}

.memory-circle-btn:hover {
  transform: scale(1.05);
  box-shadow: var(--shadow-md), var(--shadow-glow);
  border-color: rgba(var(--odei-color-jade-rgb), 0.6);
  background: linear-gradient(135deg, rgba(var(--odei-color-jade-rgb), 0.58), rgba(var(--odei-color-gold-rgb), 0.38));
}

/* === Search Input === */

.memory-search-block {
  position: relative;
  margin-bottom: clamp(12px, 1.6vh, 16px);
  border-radius: 12px;
}

.memory-search-block::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 12% 18%, rgba(var(--odei-color-jade-rgb), 0.22), transparent 60%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.memory-search-block:focus-within::before {
  opacity: 1;
}

.memory-search-block input {
  width: 100%;
  height: 44px;
  background: linear-gradient(165deg, rgba(9, 12, 18, 0.92), rgba(17, 22, 34, 0.94));
  /* backdrop-filter: blur(10px); */
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.22);
  border-radius: 12px;
  padding: 10px 74px 10px 42px;
  color: var(--color-white-smoke);
  font-size: 13px;
  letter-spacing: 0.02em;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 14px 26px rgba(2, 6, 16, 0.5);
  transition: all 0.3s ease;
  position: relative;
  z-index: 1;
}

.memory-panel-left .memory-search-block input {
  height: 38px;
  padding: 8px 66px 8px 38px;
  font-size: 12px;
}

.memory-panel-left .memory-search-icon {
  left: 12px;
  width: 16px;
  height: 16px;
}

.memory-panel-left .memory-shortcut-hint {
  right: 10px;
  padding: 3px 7px;
  font-size: 9px;
}

.memory-search-block input:focus {
  outline: none;
  border-color: rgba(var(--odei-color-jade-rgb), 0.6);
  background: linear-gradient(165deg, rgba(12, 18, 28, 0.98), rgba(20, 28, 40, 0.98));
  box-shadow:
    var(--shadow-sm),
    0 0 26px rgba(var(--odei-color-jade-rgb), 0.25);
}

.memory-search-block input::-moz-placeholder {
  color: rgba(124, 136, 154, 0.85);
}

.memory-search-block input::placeholder {
  color: rgba(124, 136, 154, 0.85);
}

.memory-mode-stack {
  display: grid;
  gap: 10px;
  padding: 14px;
  background: linear-gradient(165deg, rgba(10, 14, 20, 0.9), rgba(18, 24, 36, 0.92));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.22);
  border-radius: 14px;
  box-shadow: 0 16px 30px rgba(4, 8, 18, 0.5);
  margin-bottom: var(--memory-section-spacing);
  position: relative;
  overflow: visible;
  /* Ensure View selector is always visible and independent */
  flex-shrink: 0;
  z-index: 1;
}

.memory-panel-left .memory-mode-stack {
  padding: 10px;
  gap: 8px;
}

.memory-panel-left .memory-view-mode-selector {
  padding: 4px;
  gap: 6px;
}

.memory-panel-left .memory-view-btn {
  min-height: 32px;
  padding: 8px 6px;
  font-size: 10px;
  letter-spacing: 0.06em;
}

.memory-panel-left .memory-view-btn svg {
  width: 14px;
  height: 14px;
}

.memory-mode-stack::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 65%);
  pointer-events: none;
}

.memory-mode-row {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
}

.memory-mode-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--text-secondary);
  text-transform: uppercase;
}

.memory-chip-row {
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
}

.memory-search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  color: rgba(148, 163, 184, 0.9);
  opacity: 0.9;
  z-index: 2;
}

.memory-shortcut-hint {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: linear-gradient(155deg, rgba(15, 23, 42, 0.72), rgba(30, 41, 59, 0.68));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.22);
  border-radius: 10px;
  padding: 4px 8px;
  font-size: 10px;
  color: rgba(226, 232, 240, 0.9);
  font-family: monospace;
  pointer-events: none;
  z-index: 2;
}

.memory-filter-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  width: 100%;
}

.memory-filter-tab {
  position: relative;
  overflow: hidden;
  background: rgba(11, 14, 20, 0.82);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  border-radius: 12px;
  color: rgba(226, 232, 240, 0.9);
  font-size: clamp(10px, 0.9vw, 12px);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: clamp(0.08em, 0.3vw, 0.12em);
  padding: clamp(8px, 1vw, 10px) clamp(8px, 1.2vw, 12px);
  cursor: pointer;
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    color 0.18s ease;
}

.memory-panel-left .memory-filter-tab {
  font-size: 10px;
  letter-spacing: 0.08em;
  padding: 8px 10px;
  border-radius: 10px;
}

.memory-filter-tab::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 0%, rgba(var(--odei-color-jade-rgb), 0.35), transparent 65%);
  opacity: 0;
  transition: opacity 0.18s ease;
  pointer-events: none;
}

.memory-filter-tab:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.42);
  color: var(--text-primary);
  box-shadow: 0 10px 20px rgba(var(--odei-color-jade-rgb), 0.18);
  transform: translateY(-1px);
}

.memory-filter-tab:focus-visible {
  outline: none;
  border-color: rgba(var(--odei-color-jade-rgb), 0.6);
  color: var(--text-primary);
  box-shadow:
    0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.4),
    0 12px 26px rgba(var(--odei-color-jade-rgb), 0.25);
  transform: translateY(-1px);
}

.memory-filter-tab:hover::after,
.memory-filter-tab:focus-visible::after,
.memory-filter-tab.active::after {
  opacity: 1;
}

.memory-filter-tab.active {
  background: linear-gradient(135deg, rgba(var(--odei-color-jade-rgb), 0.38), rgba(var(--odei-color-gold-rgb), 0.24));
  border-color: rgba(var(--odei-color-jade-rgb), 0.65);
  color: #fff;
  box-shadow: 0 12px 24px rgba(var(--odei-color-jade-rgb), 0.24);
}

.memory-filter-groups {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.memory-filter-groups .memory-panel-card {
  margin-top: 0;
}

.memory-filter-groups .memory-panel-card + .memory-panel-card {
  margin-top: 0;
}

/* === Filter Groups === */

.memory-filter-group {
  background: linear-gradient(165deg, rgba(12, 18, 28, 0.92), rgba(8, 12, 20, 0.88));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.16);
  border-radius: 14px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 14px 24px rgba(4, 8, 18, 0.4);
  position: relative;
  overflow: hidden;
}

.memory-panel-left .memory-filter-group {
  padding: 10px;
  gap: 8px;
}

.memory-panel-left .memory-filter-group h3 {
  font-size: 10px;
  letter-spacing: 0.12em;
}

.memory-filter-group::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 60%);
  pointer-events: none;
}

.memory-filter-group.hidden {
  display: none;
}

/* === Domains + Time + Complexity === */

.memory-domains-panel {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.memory-domains-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
}

.memory-domain-toggle {
  --domain-color: var(--odei-color-jade-rgb);
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: linear-gradient(160deg, rgba(10, 14, 20, 0.92), rgba(18, 24, 36, 0.9));
  color: rgba(226, 232, 240, 0.86);
  cursor: pointer;
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    color 0.2s ease;
  position: relative;
  overflow: hidden;
}

.memory-panel-left .memory-domains-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.memory-panel-left .memory-domain-toggle {
  min-height: 36px;
  padding: 6px 8px;
  gap: 8px;
}

.memory-panel-left .memory-domain-icon {
  width: 24px;
  height: 24px;
  border-radius: 8px;
  font-size: 12px;
}

.memory-panel-left .memory-domain-label {
  font-size: 9px;
  letter-spacing: 0.06em;
}

.memory-domain-toggle::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 20% 15%, rgba(var(--domain-color), 0.2), transparent 60%);
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

.memory-domain-toggle:hover {
  border-color: rgba(var(--domain-color), 0.5);
  color: #fff;
  box-shadow: 0 12px 24px rgba(var(--domain-color), 0.22);
  transform: translateY(-1px);
}

.memory-domain-toggle:hover::after,
.memory-domain-toggle:focus-visible::after,
.memory-domain-toggle.active::after {
  opacity: 1;
}

.memory-domain-toggle:focus-visible {
  outline: none;
  border-color: rgba(var(--domain-color), 0.65);
  box-shadow:
    0 0 0 1px rgba(var(--domain-color), 0.4),
    0 16px 30px rgba(var(--domain-color), 0.25);
}

.memory-domain-toggle.active {
  border-color: rgba(var(--domain-color), 0.7);
  background: linear-gradient(150deg, rgba(var(--domain-color), 0.22), rgba(12, 18, 30, 0.92));
  color: #fff;
  box-shadow: 0 18px 28px rgba(var(--domain-color), 0.25);
  transform: translateY(-1px);
}

.memory-domain-icon {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 1px solid rgba(var(--domain-color), 0.3);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(var(--domain-color), 0.9);
  font-size: 14px;
  font-weight: 700;
  flex-shrink: 0;
}

.memory-domain-toggle.active .memory-domain-icon {
  background: rgba(var(--domain-color), 0.28);
  border-color: rgba(var(--domain-color), 0.6);
  color: #fff;
  box-shadow: 0 0 16px rgba(var(--domain-color), 0.35);
}

.memory-domain-label {
  font-size: clamp(11px, 1vw, 12px);
  font-weight: 600;
  letter-spacing: clamp(0.06em, 0.2vw, 0.08em);
  text-transform: uppercase;
}

.memory-domain-toggle[data-domain='STATE'],
.memory-domain-toggle[data-domain='state'] {
  --domain-color: var(--odei-color-jade-rgb);
}

.memory-domain-toggle[data-domain='FOUNDATION'],
.memory-domain-toggle[data-domain='foundation'] {
  --domain-color: var(--odei-color-jade-rgb);
}

.memory-domain-toggle[data-domain='DESTINATION'],
.memory-domain-toggle[data-domain='destination'] {
  --domain-color: 34, 211, 238;
}

.memory-domain-toggle[data-domain='VISION'],
.memory-domain-toggle[data-domain='vision'] {
  --domain-color: 34, 211, 238;
}

.memory-domain-toggle[data-domain='PATH'],
.memory-domain-toggle[data-domain='path'] {
  --domain-color: 91, 116, 255;
}

.memory-domain-toggle[data-domain='STRATEGY'],
.memory-domain-toggle[data-domain='strategy'] {
  --domain-color: 91, 116, 255;
}

.memory-domain-toggle[data-domain='REALITY'],
.memory-domain-toggle[data-domain='reality'] {
  --domain-color: 132, 204, 22;
}

.memory-domain-toggle[data-domain='EXECUTION'],
.memory-domain-toggle[data-domain='execution'] {
  --domain-color: 132, 204, 22;
}

.memory-domain-toggle[data-domain='POLICY'],
.memory-domain-toggle[data-domain='policy'] {
  --domain-color: var(--odei-color-jade-rgb);
}

.memory-domain-toggle[data-domain='TACTICS'],
.memory-domain-toggle[data-domain='tactics'] {
  --domain-color: 59, 169, 160;
}

.memory-domain-toggle[data-domain='AUDIT'],
.memory-domain-toggle[data-domain='audit'],
.memory-domain-toggle[data-domain='EVIDENCE'],
.memory-domain-toggle[data-domain='evidence'],
.memory-domain-toggle[data-domain='TRACK'],
.memory-domain-toggle[data-domain='track'] {
  --domain-color: 168, 85, 247;
}

.memory-domain-hint {
  font-size: 12px;
  color: rgba(203, 213, 225, 0.85);
  line-height: 1.5;
  margin: 0;
}

.memory-domain-count,
.memory-loop-count,
.memory-status-count,
.memory-integrity-count {
  margin-left: auto;
  font-size: 10px;
  font-weight: 600;
  color: rgba(148, 163, 184, 0.9);
  background: rgba(15, 23, 42, 0.65);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 999px;
  padding: 2px 6px;
  line-height: 1;
}

.memory-loop-grid,
.memory-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.memory-loop-toggle,
.memory-status-toggle {
  --toggle-color: var(--odei-color-jade-rgb);
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(12, 18, 30, 0.6);
  color: rgba(226, 232, 240, 0.85);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease,
    color 0.2s ease;
}

.memory-loop-toggle:hover,
.memory-status-toggle:hover {
  border-color: rgba(var(--toggle-color), 0.5);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(var(--toggle-color), 0.2);
}

.memory-loop-toggle.active,
.memory-status-toggle.active {
  border-color: rgba(var(--toggle-color), 0.7);
  background: linear-gradient(140deg, rgba(var(--toggle-color), 0.2), rgba(12, 18, 30, 0.85));
  color: #fff;
  box-shadow: 0 12px 22px rgba(var(--toggle-color), 0.25);
}

.memory-loop-toggle[data-loop-phase='OBSERVE'] {
  --toggle-color: 34, 211, 238;
}

.memory-loop-toggle[data-loop-phase='DECIDE'] {
  --toggle-color: 245, 158, 11;
}

.memory-loop-toggle[data-loop-phase='ACT'] {
  --toggle-color: 132, 204, 22;
}

.memory-loop-toggle[data-loop-phase='VERIFY'] {
  --toggle-color: 168, 85, 247;
}

.memory-loop-toggle[data-loop-phase='EVOLVE'] {
  --toggle-color: var(--odei-color-jade-rgb);
}

.memory-status-toggle[data-status-group='ACTIVE'] {
  --toggle-color: 34, 197, 94;
}

.memory-status-toggle[data-status-group='BLOCKED'] {
  --toggle-color: 245, 158, 11;
}

.memory-status-toggle[data-status-group='TERMINAL'] {
  --toggle-color: 148, 163, 184;
}

.memory-status-quick {
  margin-top: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(15, 23, 42, 0.6);
  color: rgba(226, 232, 240, 0.82);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    color 0.2s ease;
}

.memory-status-quick:hover {
  border-color: rgba(99, 102, 241, 0.55);
  color: #fff;
  box-shadow: 0 8px 16px rgba(99, 102, 241, 0.2);
}

.memory-status-quick.active {
  border-color: rgba(245, 158, 11, 0.6);
  background: rgba(245, 158, 11, 0.18);
  color: #fff;
  box-shadow: 0 8px 16px rgba(245, 158, 11, 0.2);
}

.memory-integrity-summary {
  display: flex;
  align-items: center;
  gap: 8px;
}

.memory-integrity-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(148, 163, 184, 0.9);
}

.memory-integrity-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 6px;
}

.memory-integrity-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border-radius: 8px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(12, 18, 30, 0.55);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  color: rgba(226, 232, 240, 0.82);
}

.memory-integrity-toggle input {
  margin: 0;
  width: 14px;
  height: 14px;
}

.memory-integrity-toggle input[data-integrity-severity='CRITICAL'] {
  accent-color: #f87171;
}

.memory-integrity-toggle input[data-integrity-severity='HIGH'] {
  accent-color: #f59e0b;
}

.memory-integrity-toggle input[data-integrity-severity='MEDIUM'] {
  accent-color: #fbbf24;
}

.memory-integrity-toggle input[data-integrity-severity='LOW'] {
  accent-color: #38bdf8;
}

.memory-integrity-count[data-integrity-count='CRITICAL'] {
  color: rgba(248, 113, 113, 0.9);
  border-color: rgba(248, 113, 113, 0.4);
}

.memory-integrity-count[data-integrity-count='HIGH'] {
  color: rgba(245, 158, 11, 0.9);
  border-color: rgba(245, 158, 11, 0.4);
}

.memory-integrity-count[data-integrity-count='MEDIUM'] {
  color: rgba(251, 191, 36, 0.9);
  border-color: rgba(251, 191, 36, 0.4);
}

.memory-integrity-count[data-integrity-count='LOW'] {
  color: rgba(56, 189, 248, 0.9);
  border-color: rgba(56, 189, 248, 0.4);
}

.memory-type-toolbar {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 10px;
}

.memory-type-toolbar input {
  width: 100%;
  padding: 6px 8px;
  border-radius: 8px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(12, 18, 30, 0.65);
  color: rgba(226, 232, 240, 0.9);
  font-size: 11px;
}

.memory-type-actions {
  display: flex;
  gap: 6px;
}

.memory-type-actions button {
  flex: 1;
  padding: 4px 8px;
  border-radius: 8px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(15, 23, 42, 0.6);
  color: rgba(226, 232, 240, 0.8);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    color 0.2s ease;
}

.memory-type-actions button:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.55);
  color: #fff;
  box-shadow: 0 6px 14px rgba(var(--odei-color-jade-rgb), 0.18);
}

.memory-legend-type-toggle {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  cursor: pointer;
}

.memory-legend-type-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.memory-legend-type-toggle .memory-legend-toggle-indicator {
  width: 26px;
  height: 14px;
}

.memory-legend-type-toggle .memory-legend-toggle-indicator::after {
  top: 1px;
  left: 1px;
  width: 10px;
  height: 10px;
}

.memory-legend-type-toggle input:checked + .memory-legend-toggle-indicator {
  background: rgba(52, 211, 153, 0.28);
  border-color: rgba(52, 211, 153, 0.55);
}

.memory-legend-type-toggle input:checked + .memory-legend-toggle-indicator::after {
  transform: translateX(12px);
  background: #2dd4bf;
}

.memory-legend-type-toggle input:focus-visible + .memory-legend-toggle-indicator {
  box-shadow: 0 0 0 2px rgba(52, 211, 153, 0.45);
}

.memory-time-presets {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(10, 14, 20, 0.6);
}

.memory-panel-left .memory-time-presets {
  padding: 8px 10px;
  gap: 6px;
}

.memory-panel-left .memory-time-label {
  font-size: 9px;
}

.memory-panel-left .memory-time-preset {
  padding: 5px 10px;
  font-size: 10px;
}

.memory-time-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(148, 163, 184, 0.9);
  margin-right: 2px;
}

.memory-time-preset {
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  background: rgba(15, 23, 42, 0.6);
  color: rgba(226, 232, 240, 0.88);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s ease;
}

.memory-time-preset:hover,
.memory-time-preset:focus-visible {
  outline: none;
  border-color: rgba(var(--odei-color-jade-rgb), 0.55);
  color: #fff;
  box-shadow: 0 10px 20px rgba(var(--odei-color-jade-rgb), 0.22);
  transform: translateY(-1px);
}

.memory-time-preset.active {
  background: linear-gradient(140deg, rgba(var(--odei-color-jade-rgb), 0.42), rgba(var(--odei-color-gold-rgb), 0.3));
  border-color: rgba(var(--odei-color-jade-rgb), 0.7);
  color: #fff;
  box-shadow: 0 12px 22px rgba(var(--odei-color-jade-rgb), 0.28);
}

.memory-complexity-control {
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(10, 14, 20, 0.6);
}

.memory-panel-left .memory-complexity-control {
  padding: 10px;
  gap: 8px;
}

.memory-panel-left .memory-complexity-label {
  font-size: 10px;
}

.memory-panel-left .memory-complexity-value {
  font-size: 10px;
  padding: 3px 8px;
}

.memory-panel-left .memory-complexity-slider {
  height: 6px;
}

.memory-panel-left .memory-complexity-slider::-webkit-slider-thumb {
  width: 16px;
  height: 16px;
}

.memory-panel-left .memory-complexity-slider::-moz-range-thumb {
  width: 16px;
  height: 16px;
}

.memory-panel-left .memory-complexity-hints {
  font-size: 10px;
}

.memory-complexity-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(148, 163, 184, 0.9);
}

.memory-complexity-value {
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.4);
  background: rgba(var(--odei-color-jade-rgb), 0.12);
  color: #fff;
  font-size: 11px;
  letter-spacing: 0.08em;
}

.memory-complexity-slider {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
  background: linear-gradient(90deg, rgba(var(--odei-color-jade-rgb), 0.8), rgba(var(--odei-color-gold-rgb), 0.75));
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.5);
  cursor: pointer;
}

.memory-complexity-slider::-webkit-slider-runnable-track {
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(var(--odei-color-jade-rgb), 0.8), rgba(var(--odei-color-gold-rgb), 0.75));
}

.memory-complexity-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid rgba(var(--odei-color-jade-rgb), 0.9);
  box-shadow: 0 6px 16px rgba(var(--odei-color-jade-rgb), 0.35);
  -webkit-transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.memory-complexity-slider::-webkit-slider-thumb:hover {
  transform: scale(1.1);
  box-shadow: 0 8px 18px rgba(var(--odei-color-jade-rgb), 0.45);
}

.memory-complexity-slider::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid rgba(var(--odei-color-jade-rgb), 0.9);
  box-shadow: 0 6px 16px rgba(var(--odei-color-jade-rgb), 0.35);
  -moz-transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.memory-complexity-slider::-moz-range-track {
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(var(--odei-color-jade-rgb), 0.8), rgba(var(--odei-color-gold-rgb), 0.75));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
}

.memory-complexity-slider:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 2px rgba(var(--odei-color-jade-rgb), 0.35),
    inset 0 1px 2px rgba(0, 0, 0, 0.5);
}

.memory-complexity-hints {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: rgba(148, 163, 184, 0.85);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* === Advanced Filters === */

.memory-advanced-filters {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.memory-advanced-section {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.18);
  background: linear-gradient(165deg, rgba(10, 14, 20, 0.9), rgba(18, 24, 36, 0.9));
  position: relative;
  overflow: hidden;
}

.memory-panel-left .memory-advanced-filters {
  gap: 8px;
}

.memory-panel-left .memory-advanced-section {
  padding: 10px;
  gap: 8px;
}

.memory-panel-left .memory-advanced-section h4 {
  font-size: 10px;
  letter-spacing: 0.14em;
}

.memory-panel-left .memory-advanced-section .memory-range-group,
.memory-panel-left .memory-advanced-section .memory-date-grid {
  padding: 8px;
}

.memory-advanced-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 70%);
  pointer-events: none;
}

.memory-advanced-section h4 {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(148, 163, 184, 0.9);
}

.memory-advanced-section .memory-range-group,
.memory-advanced-section .memory-date-grid {
  background: rgba(8, 12, 20, 0.6);
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 10px;
  padding: 10px;
}

.memory-advanced-section .memory-toggle {
  background: rgba(8, 12, 20, 0.65);
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.2);
}

.memory-filter-group h3 {
  font-size: 11px;
  font-weight: 700;
  color: rgba(226, 232, 240, 0.92);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.memory-filter-group h3::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(var(--odei-color-jade-rgb), 0.75), rgba(var(--odei-color-gold-rgb), 0.55));
  box-shadow: 0 0 12px rgba(var(--odei-color-jade-rgb), 0.45);
}

.memory-filter-group-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.memory-filter-group-header h3 {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
}

.memory-filter-collapse-toggle {
  margin-left: auto;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.3);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(226, 232, 240, 0.92);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.memory-filter-collapse-toggle:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.18);
  border-color: rgba(var(--odei-color-jade-rgb), 0.45);
  box-shadow: 0 6px 18px rgba(var(--odei-color-jade-rgb), 0.26);
  transform: translateY(-1px);
}

.collapsible.collapsed .memory-filter-collapse-toggle {
  background: rgba(15, 23, 42, 0.45);
  border-color: rgba(148, 163, 184, 0.2);
}

/* === Unified Panel Cards === */

.memory-panel-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 8px;
  padding: 14px 16px;
  background: linear-gradient(145deg, rgba(18, 22, 34, 0.95), rgba(11, 14, 20, 0.9));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  border-radius: 14px;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.memory-panel-left .memory-panel-card {
  padding: 12px 12px;
  border-radius: 12px;
}

.memory-panel-left .memory-panel-card-header {
  min-height: 28px;
}

.memory-panel-left .memory-panel-card-icon {
  width: 24px;
  height: 24px;
  border-radius: 7px;
}

.memory-panel-left .memory-panel-card-title {
  font-size: 12px;
}

.memory-panel-left .memory-panel-card-subtitle {
  font-size: 9px;
}

.memory-panel-left .memory-panel-card-toggle {
  width: 28px;
  height: 28px;
  border-radius: 8px;
}

.memory-panel-left .memory-panel-card-content {
  margin-top: 10px;
  padding-top: 10px;
}

/* Stack cards tighter when following each other */

.memory-panel-card + .memory-panel-card {
  margin-top: 6px;
}

.memory-panel-card:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.35);
  box-shadow: 0 4px 20px rgba(var(--odei-color-jade-rgb), 0.08);
}

.memory-panel-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 32px;
}

.memory-panel-card-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}

.memory-panel-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  color: rgba(var(--odei-color-jade-rgb), 0.9);
  flex-shrink: 0;
}

.memory-panel-card-title {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: rgba(232, 236, 244, 0.95);
}

.memory-panel-card-title-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.memory-panel-card-subtitle {
  font-size: 10px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(124, 136, 154, 0.8);
}

.memory-panel-card-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-shrink: 0;
}

.memory-panel-card-btn {
  height: 28px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(182, 192, 210, 0.9);
  font-weight: 600;
  font-size: 11px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.memory-panel-card-btn:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.12);
  border-color: rgba(var(--odei-color-jade-rgb), 0.4);
  color: rgba(232, 236, 244, 0.95);
}

.memory-panel-card-btn.primary {
  background: linear-gradient(145deg, rgba(var(--odei-color-jade-rgb), 0.25), rgba(var(--odei-color-gold-rgb), 0.18));
  border-color: rgba(var(--odei-color-jade-rgb), 0.5);
  color: rgba(232, 236, 244, 0.95);
}

.memory-panel-card-btn.primary:hover {
  background: linear-gradient(145deg, rgba(var(--odei-color-jade-rgb), 0.35), rgba(var(--odei-color-gold-rgb), 0.25));
  border-color: rgba(var(--odei-color-jade-rgb), 0.6);
  box-shadow: 0 4px 16px rgba(var(--odei-color-jade-rgb), 0.2);
}

.memory-panel-card-toggle {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(182, 192, 210, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.memory-panel-card-toggle:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  border-color: rgba(var(--odei-color-jade-rgb), 0.45);
  color: rgba(232, 236, 244, 0.95);
}

.memory-panel-card-toggle svg {
  transition: transform 0.25s ease;
}

.memory-panel-card.collapsed .memory-panel-card-toggle svg {
  transform: rotate(-90deg);
}

.memory-panel-card-content {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(var(--odei-color-jade-rgb), 0.1);
  max-height: 800px;
  overflow: hidden;
  transition:
    max-height 0.35s ease,
    opacity 0.25s ease,
    margin 0.25s ease,
    padding 0.25s ease;
}

.memory-panel-card.collapsed .memory-panel-card-content {
  max-height: 0;
  opacity: 0;
  margin-top: 0;
  padding-top: 0;
  border-top-width: 0;
  pointer-events: none;
}

.memory-panel-card:not(.collapsed) .memory-panel-card-content {
  max-height: 2000px;
}

/* === Backup Actions === */

.memory-backup-actions {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}

/* === Relationship Focus === */

.memory-relationship-section {
  margin-top: 8px;
}

.memory-panel-left .memory-relationship-section {
  margin-top: calc(var(--memory-section-spacing) * 0.7);
}

.memory-relationship-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 4px 0;
}

.memory-relationship-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text-primary);
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.memory-relationship-pill:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-1px);
}

.memory-relationship-pill.active {
  background: linear-gradient(135deg, rgba(var(--odei-color-jade-rgb), 0.28), rgba(var(--odei-color-gold-rgb), 0.26));
  border-color: rgba(var(--odei-color-jade-rgb), 0.5);
  color: #fff;
  box-shadow: 0 10px 20px rgba(var(--odei-color-jade-rgb), 0.18);
}

.memory-relationship-swatch {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.6);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.05);
  flex-shrink: 0;
}

.memory-relationship-label {
  font-size: 12px;
  font-weight: 600;
  color: inherit;
  white-space: nowrap;
}

/* === Backups (legacy - styles moved to .memory-panel-card) === */

.memory-backup-panel {
  /* Now uses .memory-panel-card styles */
}

/* Legacy backup button classes - kept for backward compatibility */

.memory-backup-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1 1 auto;
  min-height: 120px;
  max-height: 280px;
  overflow-y: auto;
  padding: 4px 4px 0 0;
}

.memory-panel-left .memory-backup-list {
  min-height: 80px;
  max-height: 160px;
  gap: 6px;
}

.memory-backup-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.12);
  background: rgba(255, 255, 255, 0.03);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}

.memory-backup-item-header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.memory-backup-name {
  font-weight: 700;
  color: rgba(226, 232, 240, 0.95);
  letter-spacing: 0.2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}

.memory-backup-restore-btn {
  padding: 6px 12px;
  border-radius: 10px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.35);
  background: linear-gradient(135deg, rgba(var(--odei-color-jade-rgb), 0.25), rgba(var(--odei-color-gold-rgb), 0.18));
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.memory-backup-restore-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(var(--odei-color-jade-rgb), 0.28);
  background: linear-gradient(135deg, rgba(var(--odei-color-jade-rgb), 0.32), rgba(var(--odei-color-gold-rgb), 0.26));
}

.memory-backup-meta {
  font-size: 12px;
  color: rgba(203, 213, 225, 0.85);
  letter-spacing: 0.1px;
}

.memory-backup-status {
  margin-top: 2px;
  min-height: 18px;
}

/* === Checkboxes & Toggles === */

.memory-checkbox,
.memory-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: rgba(10, 14, 20, 0.65);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  margin-bottom: 0;
  font-size: 12px;
  font-weight: 600;
  position: relative;
  overflow: hidden;
}

.memory-preset-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.memory-preset-btn {
  position: relative;
  padding: 9px 10px;
  font-size: 11px;
  font-weight: 600;
  color: rgba(226, 232, 240, 0.85);
  background: rgba(30, 41, 59, 0.6);
  border: 1px solid rgba(79, 70, 229, 0.2);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
}

.memory-preset-btn::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 10px;
  background: radial-gradient(circle at 50% 15%, rgba(var(--odei-color-jade-rgb), 0.2), transparent 70%);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.memory-preset-btn:hover,
.memory-preset-btn:focus-visible {
  outline: none;
  border-color: rgba(var(--odei-color-jade-rgb), 0.55);
  color: #fff;
  box-shadow: 0 8px 18px rgba(var(--odei-color-jade-rgb), 0.25);
}

.memory-preset-btn:hover::after,
.memory-preset-btn:focus-visible::after,
.memory-preset-btn.active::after {
  opacity: 1;
}

.memory-preset-btn.active {
  background: linear-gradient(140deg, rgba(var(--odei-color-jade-rgb), 0.38), rgba(var(--odei-color-gold-rgb), 0.32));
  border-color: rgba(var(--odei-color-jade-rgb), 0.7);
  color: #fff;
}

.memory-checkbox::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.02), transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.memory-checkbox:hover,
.memory-toggle:hover {
  background: var(--glass-bg-hover);
  border-color: var(--glass-border-bright);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.memory-checkbox:hover::before {
  opacity: 1;
}

.memory-checkbox input,
.memory-toggle input {
  margin: 0;
  cursor: pointer;
  accent-color: var(--accent-primary);
  width: 16px;
  height: 16px;
}

.memory-checkbox input:checked ~ span {
  color: var(--color-pure-white);
}

.memory-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}

/* === View Mode Selector === */

.memory-view-mode-selector {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  background: linear-gradient(155deg, rgba(11, 14, 20, 0.82), rgba(18, 22, 32, 0.9));
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  padding: 6px;
  position: relative;
  /* backdrop-filter: blur(10px); */
}

.memory-view-btn {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 8px;
  background: transparent;
  border: none;
  border-radius: 10px;
  color: var(--color-pale-gray);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  text-align: center;
  position: relative;
  z-index: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid transparent;
  min-height: 38px;
}

.memory-view-btn:hover {
  color: var(--color-silver);
  transform: translateY(-1px);
}

.memory-view-btn.active {
  background: var(--glass-bg-active);
  border: 1px solid var(--glass-border-bright);
  color: var(--color-pure-white);
  box-shadow: var(--shadow-sm), var(--shadow-glow);
  transform: none;
}

.memory-view-btn svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  opacity: 0.7;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.memory-view-btn:hover svg {
  opacity: 0.9;
  transform: scale(1.1);
}

.memory-view-btn.active svg {
  opacity: 1;
  transform: scale(1.05);
}

.memory-view-btn span {
  line-height: 1;
}

/* === Lens Selector === */

.memory-lens-selector {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  background: linear-gradient(155deg, rgba(11, 14, 20, 0.82), rgba(18, 22, 32, 0.9));
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  padding: 6px;
}

.memory-lens-btn {
  padding: 8px 6px;
  border-radius: 10px;
  background: transparent;
  border: 1px solid transparent;
  color: var(--color-pale-gray);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s ease;
}

.memory-lens-btn:hover {
  color: var(--text-primary);
  transform: translateY(-1px);
}

.memory-lens-btn.active {
  background: var(--glass-bg-active);
  border-color: var(--glass-border-bright);
  color: var(--color-pure-white);
  box-shadow: var(--shadow-sm), var(--shadow-glow);
  transform: none;
}

/* === List View === */

.memory-list-container {
  position: absolute;
  inset: 0;
  background: var(--color-deep-black);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  opacity: 1;
  animation: fadeIn 0.3s ease-in-out;
}

.memory-list-container.hidden {
  display: none;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.memory-list-header {
  display: flex;
  gap: 12px;
  padding: 16px;
  background: var(--glass-bg);
  border-bottom: 1px solid var(--glass-border);
}

.memory-list-search {
  flex: 1;
  background: var(--color-soft-black);
  border: 1px solid var(--glass-border);
  border-radius: 6px;
  padding: 8px 12px;
  color: var(--color-pure-white);
  font-size: 14px;
}

.memory-list-search:focus {
  outline: none;
  border-color: var(--glass-border-bright);
  box-shadow: var(--shadow-glow);
}

.memory-list-sort {
  background: var(--color-soft-black);
  border: 1px solid var(--glass-border);
  border-radius: 6px;
  padding: 8px 12px;
  color: var(--color-pure-white);
  font-size: 14px;
  cursor: pointer;
}

.memory-list-items {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 12px;
  align-content: start;
}

.memory-list-item {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  gap: 8px;
  animation: slideIn 0.3s ease-out backwards;
}

.memory-list-item:nth-child(n) {
  animation-delay: calc(var(--item-index, 0) * 0.03s);
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.memory-list-item:hover {
  background: var(--glass-bg-hover);
  border-color: var(--glass-border-bright);
  transform: translateY(-3px) scale(1.02);
  box-shadow:
    var(--shadow-md),
    0 0 20px rgba(255, 255, 255, 0.1);
}

.memory-list-item.selected {
  background: var(--glass-bg-active);
  border-color: var(--accent-primary);
  box-shadow:
    var(--shadow-glow),
    0 0 0 1px var(--accent-primary-soft);
  transform: translateY(-2px) scale(1.01);
}

.memory-list-item-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.memory-list-item-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.memory-list-item-badge.foundation {
  background: rgba(var(--odei-color-jade-rgb), 0.2);
  color: var(--odei-color-jade-500);
}

.memory-list-item-badge.vision {
  background: rgba(14, 165, 233, 0.18);
  color: #38bdf8;
}

.memory-list-item-badge.strategy {
  background: rgba(132, 204, 22, 0.18);
  color: #bef264;
}

.memory-list-item-badge.tactics {
  background: rgba(249, 115, 22, 0.2);
  color: #fb923c;
}

.memory-list-item-badge.execution {
  background: rgba(168, 85, 247, 0.2);
  color: #c084fc;
}

.memory-list-item-badge.track {
  background: rgba(236, 72, 153, 0.2);
  color: #f472b6;
}

.memory-list-item-badge.mind {
  background: rgba(139, 92, 246, 0.2);
  color: #a78bfa;
}

.memory-list-item-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-pure-white);
  margin-bottom: 6px;
  line-height: 1.3;
}

.memory-list-item-desc {
  font-size: 13px;
  color: var(--color-pale-gray);
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.memory-list-item-meta {
  display: flex;
  gap: 12px;
  font-size: 11px;
  color: var(--color-pale-gray);
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px solid var(--glass-border);
}

.memory-list-item-meta span {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* === Stats Bar === */

.memory-stats-bar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(65px, 1fr));
  gap: clamp(4px, 0.8vw, 6px);
  margin-bottom: clamp(4px, 0.6vw, 6px);
  flex-shrink: 0;
}

.memory-stat-card {
  background: var(--glass-bg);
  /* backdrop-filter: blur(12px); */
  border: 1px solid var(--glass-border);
  border-radius: clamp(6px, 0.8vw, 8px);
  padding: clamp(4px, 0.8vw, 6px);
  text-align: center;
  transition: all 0.25s ease;
  min-height: clamp(32px, 4vh, 42px);
  cursor: pointer;
  color: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.memory-stat-card:hover,
.memory-stat-card:focus-visible {
  background: var(--glass-bg-hover);
  border-color: var(--glass-border-bright);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
  outline: none;
}

.memory-stat-card.active {
  background: linear-gradient(145deg, rgba(var(--odei-color-jade-rgb), 0.32), rgba(var(--odei-color-gold-rgb), 0.26));
  border-color: rgba(var(--odei-color-jade-rgb), 0.65);
  box-shadow: 0 14px 28px rgba(var(--odei-color-jade-rgb), 0.32);
}

.memory-stat-card[data-layer-card='all'].active {
  background: linear-gradient(145deg, rgba(var(--odei-color-jade-rgb), 0.32), rgba(var(--odei-color-gold-rgb), 0.28));
  border-color: rgba(var(--odei-color-jade-rgb), 0.6);
}

.memory-stat-label {
  font-size: clamp(7px, 0.7vw, 8px);
  color: var(--color-pale-gray);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-bottom: 2px;
  font-weight: 600;
}

.memory-stat-value {
  font-size: clamp(14px, 1.8vw, 18px);
  font-weight: 700;
  color: var(--color-pure-white);
  text-shadow: var(--shadow-glow);
}

.memory-filter-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid rgba(79, 70, 229, 0.2);
  border-radius: clamp(10px, 1.4vw, 14px);
  background: rgba(30, 41, 59, 0.55);
  box-shadow: var(--shadow-sm);
  margin-bottom: clamp(10px, 1.5vw, 14px);
}

.memory-filter-summary.hidden {
  display: none;
}

/* === Lens Panel === */

.memory-lens-panel {
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.22);
  border-radius: clamp(12px, 1.6vw, 16px);
  background: rgba(12, 18, 32, 0.7);
  padding: clamp(12px, 1.8vw, 18px);
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.memory-lens-panel.hidden {
  display: none;
}

.memory-lens-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.memory-lens-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.memory-lens-heading {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.memory-lens-kicker {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(148, 163, 184, 0.85);
  font-weight: 700;
}

.memory-lens-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-pure-white);
  margin: 0;
}

.memory-lens-subtitle {
  font-size: 12px;
  color: rgba(203, 213, 225, 0.8);
  margin: 0;
  max-width: 520px;
}

.memory-lens-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.memory-lens-card {
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.5);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.memory-lens-card h4 {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(226, 232, 240, 0.92);
  margin: 0;
}

.memory-lens-count {
  font-size: 12px;
  color: rgba(226, 232, 240, 0.75);
}

.memory-lens-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.memory-lens-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 6px 8px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(148, 163, 184, 0.12);
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    transform 0.2s ease;
}

.memory-lens-item:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.5);
  transform: translateX(2px);
}

.memory-lens-item-title {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-pure-white);
}

.memory-lens-item-meta {
  font-size: 10px;
  color: rgba(148, 163, 184, 0.8);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.memory-summary-label {
  font-size: clamp(11px, 0.85vw, 12px);
  font-weight: 700;
  letter-spacing: 0.4px;
  color: rgba(226, 232, 240, 0.85);
  text-transform: uppercase;
}

.memory-summary-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  flex: 1;
}

.memory-summary-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(var(--odei-color-jade-rgb), 0.18);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.35);
  color: rgba(226, 232, 240, 0.85);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.memory-summary-chip:hover,
.memory-summary-chip:focus-visible {
  outline: none;
  border-color: rgba(var(--odei-color-jade-rgb), 0.65);
  color: #fff;
  background: rgba(var(--odei-color-jade-rgb), 0.28);
}

.memory-summary-chip-text {
  pointer-events: none;
}

.memory-summary-chip-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: rgba(30, 30, 42, 0.65);
  font-size: 10px;
  line-height: 1;
}

.memory-summary-clear {
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.28);
  background: rgba(15, 23, 42, 0.6);
  color: rgba(226, 232, 240, 0.85);
  font-weight: 600;
  font-size: 12px;
  padding: 8px 12px;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.memory-summary-clear:hover,
.memory-summary-clear:focus-visible {
  outline: none;
  color: #fff;
  border-color: rgba(var(--odei-color-jade-rgb), 0.65);
  background: rgba(55, 65, 81, 0.6);
}

/* === Graph Area === */

.memory-graph-area {
  position: relative;
  flex: 1 1 auto;
  min-height: 400px;
  min-width: 200px;
  width: 100%;
  background:
    radial-gradient(48% 58% at 16% 18%, rgba(var(--odei-color-jade-rgb), 0.15), transparent 62%),
    radial-gradient(32% 45% at 82% 26%, rgba(var(--odei-color-gold-rgb), 0.14), transparent 62%),
    linear-gradient(135deg, #0b0e14 0%, #11151f 58%, #171b24 100%);
  border: 1px solid var(--glass-border);
  border-radius: clamp(12px, 1.8vw, 18px);
  overflow: hidden;
  isolation: isolate;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    inset var(--shadow-lg),
    0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.15),
    0 0 44px rgba(var(--odei-color-jade-rgb), 0.08),
    0 18px 38px rgba(0, 0, 0, 0.55);
  animation: fadeIn 0.3s ease-in-out;
}

.memory-graph-area::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    linear-gradient(118deg, rgba(var(--odei-color-jade-rgb), 0.08), transparent 45%),
    radial-gradient(26% 50% at 84% 74%, rgba(var(--odei-color-gold-rgb), 0.08), transparent 66%);
  mix-blend-mode: screen;
  animation: graphAuraDrift 18s ease-in-out infinite alternate;
  transform-origin: 50% 50%;
}

.memory-graph-area::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    linear-gradient(transparent 0%, rgba(255, 255, 255, 0.03) 50%, transparent 100%),
    repeating-linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.016) 0px,
      rgba(255, 255, 255, 0.016) 1px,
      transparent 1px,
      transparent 5px
    );
  opacity: 0.25;
  animation: graphScanShift 11s linear infinite;
}

@keyframes graphAuraDrift {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.38;
  }

  50% {
    transform: translate3d(0.8%, -1.2%, 0) scale(1.05);
    opacity: 0.52;
  }

  100% {
    transform: translate3d(-1.1%, 0.7%, 0) scale(1.02);
    opacity: 0.44;
  }
}

@keyframes graphScanShift {
  0% {
    background-position:
      0 0,
      0 0;
  }

  100% {
    background-position:
      0 28px,
      0 72px;
  }
}

.memory-graph-scene {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: auto;
  touch-action: none;
  /* Ensure trackpad gestures go to Three.js, not browser */
}

.memory-graph-label-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 5;
  font-family: var(--font-display);
}

.memory-graph-label {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 10px;
  background: rgba(7, 10, 18, 0.82);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.32);
  color: var(--text-primary);
  font-size: 12px;
  line-height: 1.2;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  white-space: nowrap;
  max-width: 260px;
  pointer-events: none;
  opacity: 0.98;
}

.memory-graph-label-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.06);
  flex-shrink: 0;
}

.memory-graph-label-text {
  overflow: hidden;
  text-overflow: ellipsis;
}

.memory-tooltip {
  position: absolute;
  top: 0;
  left: 0;
  display: none;
  background: rgba(10, 13, 26, 0.94);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.85);
  border-radius: 10px;
  padding: 12px;
  color: #e2e8f0;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  pointer-events: none;
  z-index: 1000;
  min-width: 200px;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

.memory-tooltip:not(.hidden) {
  display: block;
}

.memory-tooltip.hidden {
  display: none !important;
}

.memory-tooltip-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  letter-spacing: 0.2px;
  margin-bottom: 6px;
}

.memory-tooltip-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  display: inline-block;
}

.memory-tooltip-meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: #94a3b8;
  font-size: 11px;
  margin-bottom: 6px;
}

.memory-tooltip-metrics {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 11px;
  color: #cbd5e1;
}

.empty-panel {
  border: 1px dashed rgba(var(--odei-color-jade-rgb), 0.4);
  border-radius: 14px;
  padding: 18px;
  background: rgba(7, 11, 22, 0.7);
  color: var(--text-secondary);
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.empty-panel h4 {
  margin: 0 0 8px 0;
  font-size: var(--type-h3);
  color: var(--text-primary);
  letter-spacing: 0.4px;
}

.empty-panel p {
  margin: 0;
  font-size: 13px;
  color: var(--text-muted);
}

.empty-panel .empty-actions {
  margin-top: 12px;
  display: inline-flex;
  gap: 8px;
  justify-content: center;
}

.empty-panel .empty-actions button {
  border-radius: 10px;
  padding: 8px 12px;
  border: 1px solid var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.4));
  background: linear-gradient(
    150deg,
    var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.16)),
    var(--panel-contrast-soft, rgba(var(--odei-color-gold-rgb), 0.12))
  );
  color: var(--text-primary);
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.empty-panel .empty-actions button:hover {
  border-color: var(--panel-accent-strong, rgba(var(--odei-color-jade-rgb), 0.6));
  box-shadow:
    0 10px 20px rgba(0, 0, 0, 0.35),
    0 0 12px var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.25));
}

/* Conversation action buttons - explicit teal theme */

.conv-action-btn {
  border-radius: 10px !important;
  padding: 10px 16px !important;
  border: 1px solid var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.4)) !important;
  background: linear-gradient(
    145deg,
    var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.15)),
    rgba(9, 14, 26, 0.7)
  ) !important;
  color: var(--panel-accent, rgba(var(--odei-color-jade-rgb), 1)) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  cursor: pointer;
  transition: all 0.2s ease;
}

.conv-action-btn:hover {
  border-color: var(--panel-accent-strong, rgba(var(--odei-color-jade-rgb), 0.7)) !important;
  background: linear-gradient(
    145deg,
    var(--panel-accent-strong, rgba(var(--odei-color-jade-rgb), 0.25)),
    rgba(9, 14, 26, 0.75)
  ) !important;
  color: #fff !important;
  box-shadow: 0 4px 16px var(--panel-accent-soft, rgba(var(--odei-color-jade-rgb), 0.3));
}

/* Primary action buttons - jade/champagne gradient (use for main CTAs like Save, Refresh) */

.primary-action-btn {
  border-radius: 10px !important;
  padding: 10px 16px !important;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.45) !important;
  background: linear-gradient(
    135deg,
    rgba(var(--odei-color-jade-rgb), 0.42),
    rgba(var(--odei-color-gold-rgb), 0.32)
  ) !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.35),
    0 0 18px rgba(var(--odei-color-jade-rgb), 0.24) !important;
}

.primary-action-btn:hover {
  background: linear-gradient(
    135deg,
    rgba(var(--odei-color-jade-rgb), 0.6),
    rgba(var(--odei-color-gold-rgb), 0.45)
  ) !important;
  border-color: rgba(var(--odei-color-jade-rgb), 0.7) !important;
  transform: translateY(-1px);
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.4),
    0 0 24px rgba(var(--odei-color-jade-rgb), 0.35) !important;
}

/* === Responsive === */

@media (max-width: 1400px) {
  #sidebar {
    width: clamp(440px, 38vw, 520px);
    max-width: none;
    min-width: 400px;
  }

  #sidebar-default-view {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Only stack vertically on narrow mobile screens */

@media (max-width: 768px) {
  #app > .flex.flex-1 {
    flex-direction: column;
    gap: 12px;
  }

  #terminal-area {
    min-height: 360px;
  }

  #sidebar {
    width: 100% !important;
    min-height: 420px;
    min-width: 0;
  }

  #sidebar-default-view {
    grid-template-columns: 1fr;
  }

  #recent-conversations-section {
    grid-column: 1 / -1;
  }

  .resizer {
    display: none;
  }
}

@media (max-width: 960px) {
  .app-nav {
    padding-inline: 16px;
  }

  .nav-agent-row {
    flex-wrap: wrap;
    gap: 8px;
  }

  #sidebar {
    min-height: 360px;
  }

  #recent-conversations-section .recent-header {
    padding: 12px;
  }

  .conversation-row {
    grid-template-columns: auto 1fr;
  }
}

#memory-graph-container {
  animation: fadeIn 0.3s ease-in-out;
  /* Container fills available space via flexbox (position: relative from .memory-graph-area) */
  /* NOTE: Do NOT use position: absolute here - it breaks flexbox layout causing empty space below */
}

.memory-graph-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: auto;
  /* Enable mouse interaction for graph controls */
}

/* ForceGraph3D creates a wrapper div - make it fill the container */

#memory-graph-container
  > div:not(.memory-minimap):not(.memory-controls):not(.memory-left-controls):not(.memory-loading):not([id]) {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: auto !important;
  /* Enable mouse events to pass through to canvas */
}

/* Ensure ForceGraph3D canvas sits above decorative overlay */

.memory-graph-area canvas {
  position: absolute;
  inset: 0;
  z-index: 10 !important;
  /* Higher z-index to ensure it's above overlays */
  width: 100% !important;
  height: 100% !important;
  pointer-events: auto !important;
  /* Critical: Enable mouse events for OrbitControls zoom/pan/rotate */
  touch-action: none;
  /* Prevent browser gesture handling - ensures trackpad zoom works reliably on macOS */
}

/* === Domain Altimeter (right edge domain scale) === */

#memory-domain-altimeter,
.memory-domain-altimeter {
  position: absolute;
  top: 14px;
  right: 2px;
  bottom: 14px;
  width: 176px;
  z-index: 140;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.memory-domain-altimeter-track {
  position: absolute;
  top: 10px;
  right: 74px;
  bottom: 10px;
  width: 1px;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.06) 0%,
    rgba(255, 255, 255, 0.14) 50%,
    rgba(255, 255, 255, 0.06) 100%
  );
}

.memory-domain-altimeter-item {
  position: absolute;
  right: 0;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 140px;
  color: rgba(240, 243, 250, 0.74);
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.66);
  pointer-events: auto;
  cursor: pointer;
  transition:
    color 0.2s ease,
    text-shadow 0.2s ease,
    transform 0.2s ease;
}

.memory-domain-altimeter-item:hover,
.memory-domain-altimeter-item:focus-visible {
  color: rgba(255, 255, 255, 0.98);
  text-shadow:
    0 0 10px rgba(255, 255, 255, 0.35),
    0 0 18px rgba(var(--odei-color-jade-rgb), 0.28);
}

.memory-domain-altimeter-item:focus-visible {
  outline: none;
}

.memory-domain-altimeter-tick {
  width: 20px;
  height: 1px;
  background: rgba(255, 255, 255, 0.68);
  flex-shrink: 0;
}

.memory-domain-altimeter-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
}

.memory-domain-altimeter-marker {
  position: absolute;
  right: 62px;
  width: 26px;
  height: 2px;
  transform: translateY(-50%);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.2));
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
  pointer-events: none;
}

/* === Graph Controls === */

.memory-controls {
  position: absolute;
  bottom: 24px;
  right: 24px;
  display: flex;
  gap: 8px;
  z-index: 100;
  pointer-events: auto;
}

/* === Left Controls (Nav + Minimap) === */

.memory-left-controls {
  position: absolute;
  bottom: 24px;
  left: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
  z-index: 100;
  pointer-events: auto;
}

.memory-navpad {
  display: grid;
  grid-template-columns: repeat(3, 34px);
  grid-template-rows: repeat(2, 34px);
  gap: 6px;
  padding: 8px;
  background: linear-gradient(145deg, rgba(11, 14, 20, 0.88), rgba(18, 22, 32, 0.94));
  border: 1px solid var(--glass-border-bright);
  border-radius: 10px;
  box-shadow: var(--shadow-md), var(--shadow-glow);
}

.memory-nav-key {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.35);
  background: linear-gradient(155deg, rgba(16, 23, 40, 0.92), rgba(10, 16, 32, 0.86));
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 8px 18px rgba(0, 0, 0, 0.4);
  transition:
    transform 0.15s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
  cursor: pointer;
}

.memory-nav-key:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.6);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 10px 22px rgba(0, 0, 0, 0.45);
}

.memory-nav-key.is-active,
.memory-nav-key:active {
  transform: translateY(1px) scale(0.98);
  border-color: rgba(var(--odei-color-gold-rgb), 0.65);
  box-shadow:
    inset 0 2px 6px rgba(0, 0, 0, 0.45),
    0 6px 12px rgba(0, 0, 0, 0.35);
}

.memory-nav-key[data-flight='forward'] {
  grid-column: 2;
  grid-row: 1;
}

.memory-nav-key[data-flight='left'] {
  grid-column: 1;
  grid-row: 2;
}

.memory-nav-key[data-flight='backward'] {
  grid-column: 2;
  grid-row: 2;
}

.memory-nav-key[data-flight='right'] {
  grid-column: 3;
  grid-row: 2;
}

/* === Minimap === */

.memory-minimap {
  position: relative;
  background: linear-gradient(145deg, rgba(11, 14, 20, 0.88), rgba(18, 22, 32, 0.94));
  /* backdrop-filter: blur(20px); */
  border: 1px solid var(--glass-border-bright);
  border-radius: 8px;
  padding: 8px;
  box-shadow: var(--shadow-md), var(--shadow-glow);
  z-index: 100;
  pointer-events: auto;
}

#memory-minimap {
  display: block;
  border-radius: 4px;
}

/* === Legend (unified card style) === */

.memory-legend-wrapper {
  margin-top: 8px;
  padding: 14px 16px;
  background: linear-gradient(145deg, rgba(18, 22, 34, 0.95), rgba(11, 14, 20, 0.9));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 0;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.memory-legend-wrapper:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.35);
  box-shadow: 0 4px 20px rgba(var(--odei-color-jade-rgb), 0.08);
}

.memory-legend-heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 32px;
}

.memory-legend-heading-row .memory-panel-card-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--odei-color-jade-rgb), 0.12);
  border-radius: 8px;
  color: var(--odei-color-jade-500);
}

.memory-legend-heading {
  margin: 0;
  font-size: 13px;
  letter-spacing: 0.03em;
  font-weight: 600;
  color: rgba(232, 236, 244, 0.95);
  text-transform: none;
  flex: 1;
}

.memory-legend-heading-toggle {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(182, 192, 210, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.memory-legend-heading-toggle svg {
  transition: transform 0.25s ease;
}

.memory-legend-heading-toggle:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  border-color: rgba(var(--odei-color-jade-rgb), 0.45);
  color: rgba(232, 236, 244, 0.95);
}

.memory-legend-wrapper.collapsed .memory-legend-heading-toggle svg {
  transform: rotate(-90deg);
}

.memory-legend {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 8px;
  margin-top: 0;
  padding: 12px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.1);
  border-radius: 10px;
  overflow-x: auto;
  width: 100%;
  -webkit-overflow-scrolling: touch;
  max-height: 1600px;
  overflow-y: hidden;
  transition:
    max-height 0.35s ease,
    opacity 0.3s ease,
    padding 0.3s ease,
    margin 0.3s ease,
    border-width 0.25s ease;
}

.memory-legend-wrapper:not(.collapsed) .memory-legend {
  overflow-x: auto;
}

.memory-legend-wrapper.collapsed .memory-legend {
  max-height: 0;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  border-width: 0;
  pointer-events: none;
  overflow: hidden;
}

.memory-legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: clamp(4px, 1vh, 8px) clamp(8px, 1.2vw, 12px);
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 6px;
  font-size: clamp(10px, 1.1vw, 12px);
  cursor: pointer;
  transition: all 0.2s ease;
}

.memory-legend-item:hover {
  background: var(--glass-bg-hover);
  border-color: var(--glass-border-bright);
  transform: translateY(-1px);
}

.memory-legend-item.active {
  background: linear-gradient(145deg, rgba(var(--odei-color-jade-rgb), 0.22), rgba(var(--odei-color-gold-rgb), 0.18));
  border-color: var(--glass-border-bright);
  box-shadow: 0 0 12px rgba(var(--odei-color-jade-rgb), 0.32);
  transform: scale(1.05);
}

/* New legend structure styles */

.memory-legend-section-title {
  grid-column: 1 / -1;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.8px;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  margin-bottom: 4px;
  margin-top: 8px;
}

.memory-legend-section-title:first-child {
  margin-top: 0;
}

.memory-legend-layer-group {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 10px;
}

.memory-legend-layer-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: clamp(10px, 1.1vw, 12px);
  font-weight: 600;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border-radius: 10px;
  transition:
    background 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, 0.04);
  min-height: 48px;
}

.memory-legend-layer-header.selected {
  background: rgba(var(--odei-color-jade-rgb), 0.16);
  box-shadow: inset 0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.45);
}

.memory-legend-layer-toggle {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

.memory-legend-layer-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.memory-legend-toggle-indicator {
  width: 32px;
  height: 18px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  position: relative;
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}

.memory-legend-toggle-indicator::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  background: #e5e7eb;
  border-radius: 50%;
  transition:
    transform 0.2s ease,
    background 0.2s ease;
}

.memory-legend-layer-toggle input:checked + .memory-legend-toggle-indicator {
  background: rgba(52, 211, 153, 0.28);
  border-color: rgba(52, 211, 153, 0.55);
}

.memory-legend-layer-toggle input:checked + .memory-legend-toggle-indicator::after {
  transform: translateX(14px);
  background: #2dd4bf;
}

.memory-legend-layer-toggle input:focus-visible + .memory-legend-toggle-indicator {
  box-shadow: 0 0 0 2px rgba(52, 211, 153, 0.45);
}

/* Layer descriptions - semantic explanations */

.memory-legend-layer-desc {
  font-size: 10px;
  line-height: 1.4;
  color: var(--ink-med, #b6c0d2);
  padding: 4px 10px 8px 36px;
  opacity: 0.75;
  font-style: italic;
  border-left: 2px solid transparent;
  margin-top: -2px;
  transition:
    opacity 0.2s ease,
    border-color 0.2s ease;
}

.memory-legend-layer-group:hover .memory-legend-layer-desc {
  opacity: 1;
  border-left-color: rgba(var(--odei-color-jade-rgb), 0.35);
}

.memory-legend-types {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  margin-left: 12px;
}

.memory-legend-type-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  font-size: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.memory-legend-type-item:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.12);
}

.memory-legend-type-item.color-active {
  background: rgba(var(--odei-color-jade-rgb), 0.18);
  border-color: rgba(var(--odei-color-jade-rgb), 0.55);
  box-shadow: 0 0 10px rgba(var(--odei-color-jade-rgb), 0.32);
}

.memory-legend-type-item.color-active .memory-legend-dot-small {
  border-color: rgba(255, 255, 255, 0.85);
}

.memory-legend-type-item.selected {
  background: rgba(var(--odei-color-jade-rgb), 0.18);
  border-color: rgba(var(--odei-color-jade-rgb), 0.55);
  box-shadow: inset 0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.4);
}

.memory-legend-type-item.selected .memory-legend-dot-small {
  border-color: rgba(255, 255, 255, 0.9);
}

.memory-legend-dot-small {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  flex-shrink: 0;
}

.memory-legend-count {
  margin-left: auto;
  font-size: 10px;
  opacity: 0.6;
  font-weight: 400;
}

.memory-legend-divider {
  grid-column: 1 / -1;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
  margin: 8px 0;
}

/* Gray out empty layers */

.memory-legend-item[data-layer]:has(.memory-legend-count:empty),
.memory-legend-item[data-layer] .memory-legend-count:contains('(0)') {
  opacity: 0.4;
}

.memory-legend-type-item[data-type] .memory-legend-count:contains('(0)') {
  opacity: 0.3;
}

/* Collapse button for Foundation */

.memory-legend-collapse-btn {
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  padding: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  border-radius: 4px;
  opacity: 0.65;
}

.memory-legend-collapse-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.8);
  opacity: 1;
}

.memory-legend-collapse-btn svg {
  transition: transform 0.3s ease;
}

.memory-legend-layer-group.collapsed .memory-legend-collapse-btn svg {
  transform: rotate(-90deg);
}

.memory-legend-types {
  overflow: hidden;
  transition:
    max-height 0.3s ease,
    opacity 0.3s ease,
    margin-top 0.3s ease;
  max-height: 500px;
  opacity: 1;
}

.memory-legend-layer-group.collapsed .memory-legend-types {
  max-height: 0;
  opacity: 0;
  margin-top: 0;
}

.memory-legend-layer-header:hover .memory-legend-collapse-btn,
.memory-legend-layer-header:focus-within .memory-legend-collapse-btn {
  opacity: 1;
}

/* === Below-graph cheat sheet (wm-legend) === */

.wm-legend-bar {
  --wm-legend-border: rgba(var(--odei-color-jade-rgb), 0.08);
  --wm-legend-ink: rgba(194, 208, 232, 0.52);
  --wm-legend-ink-strong: rgba(224, 234, 249, 0.84);
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 5px;
  background: linear-gradient(160deg, rgba(7, 10, 16, 0.28), rgba(8, 11, 18, 0.34));
  border: 1px solid var(--wm-legend-border);
  border-top: none;
  border-radius: 0 0 10px 10px;
  -webkit-backdrop-filter: blur(6px) saturate(108%);
  backdrop-filter: blur(6px) saturate(108%);
  flex-shrink: 0;
  overflow: hidden;
  opacity: 0.34;
  transition:
    max-height 0.24s ease,
    opacity 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease,
    padding 0.2s ease;
  max-height: 52px;
}

.wm-legend-bar:hover,
.wm-legend-bar:focus-within {
  opacity: 0.72;
  border-color: rgba(var(--odei-color-jade-rgb), 0.18);
  background: linear-gradient(160deg, rgba(8, 12, 20, 0.42), rgba(9, 13, 21, 0.48));
}

.wm-legend-bar.has-shape-focus {
  opacity: 0.78;
  border-color: rgba(var(--odei-color-jade-rgb), 0.24);
}

.wm-legend-bar.collapsed {
  max-height: 28px;
  padding-top: 2px;
  padding-bottom: 2px;
  opacity: 0.28;
}

.wm-legend-bar.collapsed .wm-legend-content {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}

.wm-legend-toggle {
  width: 20px;
  height: 20px;
  align-self: center;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(11, 16, 26, 0.36);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.1);
  border-radius: 5px;
  color: rgba(201, 214, 236, 0.5);
  cursor: pointer;
  transition:
    border-color 0.2s,
    color 0.2s,
    background 0.2s;
  padding: 0;
}

.wm-legend-toggle:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.22);
  color: var(--wm-legend-ink-strong);
  background: rgba(12, 18, 29, 0.56);
}

.wm-legend-toggle-icon {
  transition: transform 0.22s ease;
}

.wm-legend-bar.collapsed .wm-legend-toggle-icon {
  transform: rotate(180deg);
}

.wm-legend-content {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  max-height: 40px;
  opacity: 1;
  transition:
    max-height 0.24s ease,
    opacity 0.2s ease;
  scrollbar-width: none;
}

.wm-legend-content::-webkit-scrollbar {
  display: none;
}

.wm-legend-section {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.wm-legend-section-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateX(-2px);
  transition:
    max-width 0.2s ease,
    opacity 0.18s ease,
    transform 0.18s ease;
}

.wm-legend-bar:hover .wm-legend-section-meta,
.wm-legend-bar:focus-within .wm-legend-section-meta,
.wm-legend-bar.has-shape-focus .wm-legend-section-meta {
  max-width: 84px;
  opacity: 0.76;
  transform: translateX(0);
}

.wm-legend-section-title {
  font-size: 7px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(186, 202, 228, 0.56);
  white-space: nowrap;
}

.wm-legend-bar.has-shape-focus .wm-legend-section-title {
  color: var(--wm-legend-ink-strong);
}

.wm-legend-section-subtitle {
  display: none;
}

.wm-legend-items {
  display: flex;
  align-items: center;
  gap: 3px;
  flex-shrink: 0;
}

.wm-legend-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 24px;
  padding: 2px 5px;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.045);
  background: rgba(255, 255, 255, 0.008);
  white-space: nowrap;
  overflow: hidden;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  font: inherit;
  color: var(--wm-legend-ink);
  opacity: 0.84;
  transition:
    border-color 0.2s ease,
    background 0.2s ease,
    opacity 0.2s ease,
    color 0.2s ease;
}

.wm-legend-chip::before {
  display: none;
}

.wm-legend-chip:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.2);
  background: rgba(13, 20, 32, 0.52);
  opacity: 1;
}

.wm-legend-chip:focus-visible {
  outline: 0;
  border-color: rgba(var(--odei-color-jade-rgb), 0.32);
  box-shadow: 0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.22);
  opacity: 1;
}

.wm-legend-chip.is-active {
  border-color: rgba(var(--odei-color-jade-rgb), 0.3);
  background: rgba(16, 24, 38, 0.6);
  color: var(--wm-legend-ink-strong);
  opacity: 1;
}

.wm-legend-chip.is-dimmed {
  opacity: 0.38;
}

.wm-legend-chip:disabled,
.wm-legend-chip.is-empty {
  cursor: default;
  opacity: 0.2;
}

/* Shape chips — each has a unique --shape-color */

.wm-legend-chip--shape {
  border-color: color-mix(in srgb, var(--shape-color) 10%, rgba(255, 255, 255, 0.055));
  background: color-mix(in srgb, var(--shape-color) 2%, rgba(255, 255, 255, 0.008));
}

.wm-legend-chip--shape:hover {
  border-color: color-mix(in srgb, var(--shape-color) 24%, rgba(255, 255, 255, 0.09));
  background: color-mix(in srgb, var(--shape-color) 7%, rgba(255, 255, 255, 0.018));
}

.wm-legend-chip--shape .wm-legend-shape-icon {
  color: color-mix(in srgb, var(--shape-color) 56%, rgba(216, 229, 249, 0.78));
  background: color-mix(in srgb, var(--shape-color) 5%, rgba(255, 255, 255, 0.01));
  border-color: color-mix(in srgb, var(--shape-color) 18%, rgba(255, 255, 255, 0.085));
  filter: none;
}

.wm-legend-chip--shape:hover .wm-legend-shape-icon {
  color: color-mix(in srgb, var(--shape-color) 74%, rgba(234, 242, 255, 0.96));
}

.wm-legend-chip--shape.is-active {
  border-color: color-mix(in srgb, var(--shape-color) 36%, rgba(255, 255, 255, 0.13));
  background: color-mix(in srgb, var(--shape-color) 9%, rgba(255, 255, 255, 0.02));
}

.wm-legend-chip--shape .wm-legend-name {
  color: color-mix(in srgb, var(--shape-color) 30%, rgba(219, 232, 252, 0.76));
}

.wm-legend-shape-icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.065);
  background: rgba(255, 255, 255, 0.006);
  color: rgba(194, 209, 233, 0.58);
  transition:
    border-color 0.2s ease,
    color 0.2s ease;
}

.wm-legend-shape-icon svg {
  width: 12px;
  height: 12px;
}

.wm-legend-labels {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  min-width: 0;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateX(-2px);
  transition:
    max-width 0.2s ease,
    opacity 0.16s ease,
    transform 0.16s ease;
}

.wm-legend-bar:hover .wm-legend-labels,
.wm-legend-bar:focus-within .wm-legend-labels,
.wm-legend-bar.has-shape-focus .wm-legend-labels,
.wm-legend-chip.is-active .wm-legend-labels {
  max-width: 112px;
  opacity: 0.92;
  transform: translateX(0);
}

.wm-legend-name {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--wm-legend-ink);
  line-height: 1;
  transition: color 0.2s ease;
}

.wm-legend-desc {
  display: none;
}

.wm-legend-count {
  margin-left: 1px;
  min-width: 16px;
  padding: 0 3px;
  border-radius: 999px;
  background: rgba(9, 13, 22, 0.44);
  border: 1px solid rgba(255, 255, 255, 0.07);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-align: center;
  color: rgba(177, 192, 217, 0.68);
  opacity: 0;
  transform: translateX(-4px) scale(0.98);
  transition:
    opacity 0.18s ease,
    transform 0.18s ease,
    color 0.18s ease;
}

.wm-legend-bar:hover .wm-legend-count,
.wm-legend-bar:focus-within .wm-legend-count,
.wm-legend-chip.is-active .wm-legend-count {
  opacity: 0.66;
  transform: translateX(0) scale(1);
}

.wm-legend-chip.is-active .wm-legend-count {
  opacity: 0.84;
  color: rgba(220, 232, 250, 0.9);
}

/* Separator between sections */

.wm-legend-section + .wm-legend-section::before {
  content: '';
  display: block;
  width: 1px;
  height: 10px;
  background: rgba(255, 255, 255, 0.035);
  margin-right: 4px;
  flex-shrink: 0;
}

@media (max-width: 960px) {
  .wm-legend-bar {
    padding: 4px 8px 5px;
    max-height: 48px;
  }

  .wm-legend-section {
    gap: 6px;
  }

  .wm-legend-section-meta {
    display: none;
  }

  .wm-legend-chip {
    min-height: 23px;
    padding: 2px 6px 2px 4px;
  }

  .wm-legend-count {
    display: none;
  }
}

@media (max-width: 640px) {
  .wm-legend-bar {
    gap: 6px;
    padding: 3px 7px 4px;
    max-height: 44px;
  }

  .wm-legend-bar.collapsed {
    max-height: 26px;
    padding-top: 2px;
    padding-bottom: 2px;
  }

  .wm-legend-toggle {
    width: 18px;
    height: 18px;
    border-radius: 4px;
  }

  .wm-legend-section-title {
    display: none;
  }

  .wm-legend-chip {
    min-height: 22px;
    gap: 4px;
    padding: 2px 4px;
    border-radius: 7px;
  }

  .wm-legend-labels {
    display: none;
  }

  .wm-legend-shape-icon {
    width: 12px;
    height: 12px;
    border-radius: 3px;
  }

  .wm-legend-shape-icon svg {
    width: 9px;
    height: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wm-legend-bar,
  .wm-legend-content,
  .wm-legend-toggle,
  .wm-legend-toggle-icon,
  .wm-legend-section-meta,
  .wm-legend-chip,
  .wm-legend-labels,
  .wm-legend-shape-icon,
  .wm-legend-count {
    transition: none !important;
  }
}

/* Resize handles */

.memory-resize-handle {
  position: relative;
  width: 8px;
  flex-shrink: 0;
  cursor: col-resize;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  transition: background 0.2s ease;
  z-index: 100;
}

.memory-resize-handle:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.1);
}

.memory-resize-handle-bar {
  width: 2px;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  transition: all 0.2s ease;
}

.memory-resize-handle:hover .memory-resize-handle-bar {
  background: rgba(var(--odei-color-jade-rgb), 0.6);
  box-shadow: 0 0 8px rgba(var(--odei-color-jade-rgb), 0.4);
}

.memory-resize-handle.dragging {
  background: rgba(var(--odei-color-jade-rgb), 0.15);
}

.memory-resize-handle.dragging .memory-resize-handle-bar {
  background: rgba(var(--odei-color-jade-rgb), 0.8);
  box-shadow: 0 0 12px rgba(var(--odei-color-jade-rgb), 0.6);
}

.memory-list-item-actions {
  display: flex;
  gap: 6px;
  z-index: 10;
  position: relative;
  pointer-events: all;
}

.memory-list-action-btn {
  padding: 10px;
  border-radius: 8px;
  background: rgba(59, 130, 246, 0.15);
  border: 1px solid rgba(59, 130, 246, 0.3);
  color: #60a5fa;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: all;
  z-index: 10;
  position: relative;
}

.memory-list-action-btn svg,
.memory-list-action-btn svg * {
  pointer-events: none;
}

.memory-list-action-btn:hover {
  background: rgba(59, 130, 246, 0.3);
  border-color: rgba(59, 130, 246, 0.6);
  color: #93c5fd;
  transform: scale(1.15);
  box-shadow: 0 0 12px rgba(59, 130, 246, 0.4);
}

.memory-list-action-btn:active {
  transform: scale(0.95);
}

.delete-node-btn {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.3);
  color: #f87171;
}

.delete-node-btn:hover {
  background: rgba(239, 68, 68, 0.3);
  border-color: rgba(239, 68, 68, 0.6);
  color: #fca5a5;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.4);
}

/* Modal styles */

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  /* backdrop-filter: blur(8px); */
  animation: fadeIn 0.2s ease-out;
}

.modal-overlay.hidden {
  display: none;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.modal-dialog {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border-bright);
  border-radius: 12px;
  max-width: 500px;
  width: 90%;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  animation: slideUp 0.3s ease-out;
}

.modal-dialog.modal-lg {
  max-width: 700px;
}

@keyframes slideUp {
  from {
    transform: translateY(50px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.modal-header {
  padding: 20px 24px;
  border-bottom: 1px solid var(--glass-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #e5e7eb;
  margin: 0;
}

.modal-close {
  background: transparent;
  border: none;
  color: #9ca3af;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  transition: all 0.2s ease;
}

.modal-close:hover {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
}

.modal-body {
  padding: 24px;
  overflow-y: auto;
  flex: 1;
}

.modal-footer {
  padding: 16px 24px;
  border-top: 1px solid var(--glass-border);
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}

/* Form styles */

.form-group {
  margin-bottom: 20px;
}

.form-label {
  display: block;
  color: #d1d5db;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
}

.form-input,
.form-textarea {
  width: 100%;
  background: rgba(17, 24, 39, 0.8);
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  padding: 10px 12px;
  color: #e5e7eb;
  font-size: 14px;
  font-family: inherit;
  transition: all 0.2s ease;
}

.form-input:focus,
.form-textarea:focus {
  outline: none;
  border-color: var(--odei-color-jade-500);
  background: rgba(17, 24, 39, 0.95);
  box-shadow: 0 0 0 3px rgba(var(--odei-color-jade-rgb), 0.15);
}

.form-input::-moz-placeholder,
.form-textarea::-moz-placeholder {
  color: #6b7280;
}

.form-input::placeholder,
.form-textarea::placeholder {
  color: #6b7280;
}

.form-textarea {
  min-height: 100px;
  resize: vertical;
}

.btn {
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.btn-primary {
  background: linear-gradient(135deg, #5de5d8, var(--odei-color-jade-500));
  color: #0b0e14;
  box-shadow: 0 4px 12px rgba(var(--odei-color-jade-rgb), 0.3);
}

.btn-primary:hover {
  background: linear-gradient(135deg, var(--odei-color-jade-500), #2db8aa);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(var(--odei-color-jade-rgb), 0.4);
}

.btn-primary:active {
  transform: translateY(0);
}

.btn-secondary {
  background: rgba(75, 85, 99, 0.3);
  color: #d1d5db;
  border: 1px solid var(--glass-border);
}

.btn-secondary:hover {
  background: rgba(75, 85, 99, 0.5);
  color: #f3f4f6;
}

.btn-danger {
  background: linear-gradient(135deg, #f87171, #ef4444);
  color: white;
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}

.btn-danger:hover {
  background: linear-gradient(135deg, #ef4444, #dc2626);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(239, 68, 68, 0.4);
}

.btn-danger:active {
  transform: translateY(0);
}

.memory-legend-dot {
  width: clamp(8px, 1vw, 11px);
  height: clamp(8px, 1vw, 11px);
  border-radius: 50%;
  border: 2px solid var(--glass-border-bright);
  background: var(--color-silver);
  box-shadow: 0 0 8px currentColor;
}

/* Layer-specific colors - using theme palette jade (var(--odei-color-jade-500)) and champagne (var(--odei-color-gold-500)) */

.memory-legend-dot.foundation {
  background: var(--odei-color-jade-500);
  box-shadow: 0 0 8px rgba(var(--odei-color-jade-rgb), 0.85);
}

.memory-legend-dot.vision {
  background: #0ea5e9;
  box-shadow: 0 0 8px rgba(14, 165, 233, 0.85);
}

.memory-legend-dot.strategy {
  background: #84cc16;
  box-shadow: 0 0 8px rgba(132, 204, 22, 0.85);
}

.memory-legend-dot.tactics {
  background: #f59e0b;
  box-shadow: 0 0 8px rgba(245, 158, 11, 0.85);
}

.memory-legend-dot.execution {
  background: #2db8aa;
  box-shadow: 0 0 8px rgba(45, 184, 170, 0.85);
}

.memory-legend-dot.track {
  background: #06b6d4;
  box-shadow: 0 0 8px rgba(6, 182, 212, 0.85);
}

.memory-legend-dot.mind {
  background: var(--odei-color-gold-500);
  box-shadow: 0 0 8px rgba(var(--odei-color-gold-rgb), 0.88);
}

/* Relationship line indicator */

.memory-legend-line {
  width: 20px;
  height: 2px;
  border-radius: 1px;
  display: inline-block;
  box-shadow: 0 0 4px currentColor;
  opacity: 0.9;
}

/* === Detail Panel === */

.memory-detail-empty {
  text-align: center;
  padding: 40px 20px;
  color: var(--color-pale-gray);
  position: relative;
}

.memory-detail-empty h2 {
  font-size: 18px;
  color: var(--color-silver);
  margin-bottom: 12px;
}

.memory-detail-empty p {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 24px;
}

.memory-empty-shortcuts {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 12px;
}

.memory-empty-shortcuts kbd {
  background: var(--glass-bg-active);
  border: 1px solid var(--glass-border);
  border-radius: 4px;
  padding: 4px 8px;
  font-family: monospace;
  margin-right: 8px;
}

.memory-detail-empty-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid var(--glass-border);
  background: var(--glass-bg);
  color: var(--color-silver);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.memory-detail-empty-close:hover {
  background: var(--glass-bg-hover);
  color: var(--color-pure-white);
  border-color: var(--glass-border-bright);
  box-shadow: var(--shadow-sm);
}

.memory-detail-card {
  padding: var(--memory-panel-padding);
}

.memory-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: clamp(12px, 1.8vh, 18px);
  padding-bottom: clamp(12px, 1.6vh, 18px);
  border-bottom: 1px solid var(--glass-border);
  gap: 12px;
}

.memory-detail-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 6px;
  color: var(--color-silver);
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
  margin-left: auto;
}

.memory-detail-close:hover {
  background: var(--glass-bg-hover);
  border-color: var(--glass-border-bright);
  color: var(--color-pure-white);
}

.memory-detail-chip {
  background: var(--glass-bg-active);
  border: 1px solid var(--glass-border-bright);
  border-radius: 6px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--color-silver);
}

.memory-detail-roi {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-pure-white);
}

.memory-detail-body h3 {
  font-size: clamp(18px, 2.4vw, 22px);
  font-weight: 700;
  color: var(--color-pure-white);
  margin: 0 0 12px 0;
  letter-spacing: -0.3px;
}

.memory-detail-description {
  font-size: clamp(13px, 1.6vw, 15px);
  line-height: 1.6;
  color: var(--color-silver);
  margin-bottom: var(--memory-section-spacing);
}

.memory-selection-panel {
  background: rgba(15, 23, 42, 0.78);
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 18px;
  padding: clamp(14px, 2vw, 18px);
  margin-bottom: var(--memory-section-spacing);
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1 1 auto;
  min-height: 0;
}

.memory-selection-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.memory-selection-label {
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.08em;
  color: rgba(148, 163, 184, 0.85);
  margin-bottom: 4px;
}

.memory-selection-title {
  font-size: clamp(18px, 2.3vw, 22px);
  font-weight: 700;
  color: #f8fafc;
  margin: 0;
}

.memory-selection-count {
  font-size: 12px;
  color: rgba(148, 163, 184, 0.9);
  margin-top: 2px;
}

.memory-selection-breadcrumbs {
  font-family: 'IBM Plex Mono', 'JetBrains Mono', 'SF Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.06em;
  color: rgba(148, 163, 184, 0.82);
  margin: 0;
  line-height: 1.45;
  white-space: normal;
}

.memory-selection-description {
  font-size: 13px;
  line-height: 1.5;
  color: rgba(203, 213, 225, 0.92);
  margin: 0;
}

.memory-model-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 2px;
}

.memory-model-metric {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 9px;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(2, 6, 23, 0.5);
}

.memory-model-metric-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(148, 163, 184, 0.86);
}

.memory-model-metric-value {
  font-family: 'IBM Plex Mono', 'JetBrains Mono', 'SF Mono', monospace;
  font-size: 12px;
  color: rgba(226, 232, 240, 0.96);
}

.memory-selection-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: thin;
}

.memory-selection-item {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 12px;
  background: rgba(2, 6, 23, 0.6);
  padding: 10px 12px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 4px;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    transform 0.2s ease;
}

.memory-selection-item:hover {
  border-color: rgba(56, 189, 248, 0.65);
  transform: translateX(2px);
}

.memory-selection-item-title {
  font-size: 13px;
  font-weight: 600;
  color: #e2e8f0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.memory-selection-item-meta {
  font-size: 11px;
  color: rgba(148, 163, 184, 0.9);
}

.memory-selection-empty,
.memory-selection-more {
  font-size: 12px;
  color: rgba(148, 163, 184, 0.9);
  padding: 6px 4px;
}

.memory-detail-meta {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(10px, 1.4vh, 16px);
  margin-bottom: var(--memory-section-spacing);
  padding: clamp(12px, 1.6vw, 16px);
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 8px;
}

.memory-detail-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: var(--memory-section-spacing);
}

.memory-detail-actions.hidden {
  display: none;
}

.memory-pin-btn {
  font-weight: 600;
  text-decoration: none;
  border-radius: 10px;
  padding: 6px 10px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.28);
  background: rgba(15, 23, 42, 0.45);
  color: rgba(226, 232, 240, 0.85);
  transition: all 0.2s ease;
}

.memory-pin-btn:hover {
  color: #fff;
  border-color: rgba(var(--odei-color-jade-rgb), 0.6);
  box-shadow: 0 10px 20px rgba(var(--odei-color-jade-rgb), 0.18);
  transform: translateY(-1px);
}

.memory-pin-btn.pinned {
  background: linear-gradient(135deg, rgba(var(--odei-color-jade-rgb), 0.3), rgba(var(--odei-color-gold-rgb), 0.25));
  border-color: rgba(var(--odei-color-jade-rgb), 0.7);
  color: #fff;
  box-shadow: 0 12px 24px rgba(var(--odei-color-jade-rgb), 0.24);
}

.memory-story-lane {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 16px;
  background: rgba(15, 23, 42, 0.32);
  border: 1px solid rgba(79, 70, 229, 0.18);
  border-radius: 16px;
  margin-bottom: var(--memory-section-spacing);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.memory-story-lane.hidden {
  display: none;
}

.memory-story-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.memory-story-header h4 {
  font-size: clamp(13px, 1vw, 14px);
  font-weight: 700;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  color: rgba(226, 232, 240, 0.85);
}

.memory-story-items {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 220px;
  overflow-y: auto;
  padding-right: 6px;
}

.memory-story-item {
  position: relative;
  padding-left: 24px;
}

.memory-story-marker {
  position: absolute;
  left: 8px;
  top: 4px;
  bottom: 4px;
  width: 2px;
  background: linear-gradient(180deg, rgba(var(--odei-color-jade-rgb), 0.45), transparent 100%);
}

.memory-story-dot {
  position: absolute;
  left: 4px;
  top: 4px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(var(--odei-color-jade-rgb), 0.9);
  box-shadow: 0 0 0 4px rgba(var(--odei-color-jade-rgb), 0.2);
}

.memory-story-item.primary .memory-story-dot {
  background: rgba(16, 185, 129, 0.9);
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.25);
}

.memory-story-content {
  background: rgba(17, 24, 39, 0.6);
  border-radius: 12px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.12);
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.memory-story-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: rgba(148, 163, 184, 0.9);
}

.memory-story-layer {
  padding: 4px 8px;
  border-radius: 999px;
  font-weight: 700;
  background: rgba(var(--odei-color-jade-rgb), 0.18);
  color: rgba(226, 232, 240, 0.92);
}

.memory-story-layer.foundation {
  background: rgba(14, 165, 233, 0.2);
}

.memory-story-layer.vision {
  background: rgba(14, 165, 233, 0.18);
}

.memory-story-layer.strategy {
  background: rgba(132, 204, 22, 0.18);
}

.memory-story-layer.tactics {
  background: rgba(249, 115, 22, 0.2);
}

.memory-story-layer.execution {
  background: rgba(16, 185, 129, 0.2);
}

.memory-story-layer.track {
  background: rgba(244, 63, 94, 0.2);
}

.memory-story-layer.mind {
  background: rgba(168, 85, 247, 0.2);
}

.memory-story-relationship {
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(226, 232, 240, 0.16);
}

.memory-story-content h5 {
  font-size: 13px;
  font-weight: 700;
  color: rgba(226, 232, 240, 0.95);
}

.memory-story-description {
  font-size: 12px;
  line-height: 1.4;
  color: rgba(203, 213, 225, 0.82);
}

.memory-story-footer {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 11px;
  color: rgba(148, 163, 184, 0.9);
}

.memory-meta-label {
  font-size: 11px;
  color: var(--color-pale-gray);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  display: block;
  margin-bottom: 4px;
}

.memory-meta-value {
  font-size: 13px;
  color: var(--color-silver);
  font-weight: 500;
}

.memory-link-btn {
  background: none;
  border: none;
  color: var(--color-silver);
  text-decoration: underline;
  cursor: pointer;
  font-size: 13px;
  padding: 0;
  transition: color 0.2s ease;
}

.memory-link-btn:hover {
  color: var(--color-pure-white);
}

/* === Loading States === */

/* CRITICAL: z-index MUST be below canvas (z-index: 10) when hidden
   to prevent blocking scroll wheel zoom events.
   Only show above canvas when actually visible. */

.memory-loading {
  display: none; /* shown by JS */
  position: absolute;
  inset: 0;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.95rem;
  text-align: center;
  background:
    radial-gradient(40% 40% at 50% 42%, rgba(var(--odei-color-jade-rgb), 0.14), transparent 72%),
    linear-gradient(135deg, rgba(11, 14, 20, 0.92), rgba(15, 20, 29, 0.96));
  z-index: 180;
  padding: 1.5rem;
}

/* WebGL unavailable notice — full-area overlay inside graph container */
.memory-webgl-notice {
  display: none; /* shown by JS when degraded */
  position: absolute;
  inset: 0;
  align-items: center;
  justify-content: center;
  background: var(--bg-02, #0b0e14);
  z-index: 40;
  padding: 2rem;
  overflow-y: auto;
}
.memory-webgl-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
  max-width: 540px;
  width: 100%;
}
.memory-webgl-icon {
  font-size: 1.75rem;
  color: #4fd1c5;
  opacity: 0.7;
}
.memory-webgl-notice h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--ink-high, #e8ecf4);
  margin: 0;
  line-height: 1.3;
}
.memory-webgl-sub {
  font-size: 0.875rem;
  color: var(--ink-med, #b6c0d2);
  margin: 0;
  line-height: 1.6;
}
.memory-webgl-reason {
  min-height: 1.2rem;
  margin: -0.4rem 0 0;
  font-size: 0.76rem;
  line-height: 1.45;
  color: var(--muted, #7c889a);
}
.memory-webgl-fixes {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  width: 100%;
}
.memory-webgl-fix {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(79, 209, 197, 0.12);
  padding: 1rem 1.125rem;
}
.memory-webgl-fix--primary {
  border-color: rgba(79, 209, 197, 0.3);
  background: rgba(79, 209, 197, 0.04);
}
.memory-webgl-fix-label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #4fd1c5;
  margin-bottom: 0.375rem;
}
.memory-webgl-fix-desc {
  font-size: 0.8rem;
  color: var(--muted, #7c889a);
  margin-bottom: 0.5rem;
}
.memory-webgl-fix ol {
  margin: 0;
  padding-left: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.memory-webgl-fix li {
  font-size: 0.85rem;
  color: var(--ink-med, #b6c0d2);
  line-height: 1.55;
}
.memory-webgl-fix code {
  font-family: 'SF Mono', ui-monospace, monospace;
  font-size: 0.78rem;
  background: rgba(79, 209, 197, 0.1);
  color: #4fd1c5;
  padding: 0.1em 0.4em;
}
.memory-webgl-fix strong {
  color: var(--ink-high, #e8ecf4);
  font-weight: 600;
}
.memory-webgl-alt {
  font-size: 0.8rem;
  color: var(--muted, #7c889a);
  display: flex;
  align-items: center;
  gap: 0.6rem;
  line-height: 1.5;
  padding-top: 0.25rem;
}
.memory-webgl-alt-badge {
  background: rgba(244, 201, 93, 0.12);
  color: #f4c95d;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 0.15em 0.55em;
  flex-shrink: 0;
}

.memory-empty {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(11, 14, 20, 0.9), rgba(18, 22, 32, 0.92));
  /* backdrop-filter: blur(10px); */
  border: 1px solid var(--glass-border);
  z-index: 50;
  pointer-events: auto;
}

/* When visible (not hidden), ensure overlay is above canvas */

.memory-loading:not(.memory-loading-hidden) {
  z-index: 180;
  pointer-events: auto;
}

.memory-empty:not(.memory-loading-hidden) {
  z-index: 50;
  pointer-events: auto;
}

.memory-container:has(.memory-loading:not(.memory-loading-hidden)) .memory-controls,
.memory-container:has(.memory-loading:not(.memory-loading-hidden)) .memory-left-controls,
.memory-container:has(.memory-loading:not(.memory-loading-hidden)) .memory-minimap {
  opacity: 0;
  pointer-events: none;
}

/* ============================================
   ONBOARDING MODE
   Hide memory-specific chrome, keep main navigation
   ============================================ */

/* Hide memory panels and controls during onboarding */

.memory-container:has(.memory-empty:not(.memory-loading-hidden)) .memory-panel-right,
.memory-container:has(.memory-empty:not(.memory-loading-hidden)) .memory-panel-left,
.memory-container:has(.memory-empty:not(.memory-loading-hidden)) .memory-controls,
.memory-container:has(.memory-empty:not(.memory-loading-hidden)) .memory-left-controls,
.memory-container:has(.memory-empty:not(.memory-loading-hidden)) .memory-expand-btn,
.memory-container:has(.memory-empty:not(.memory-loading-hidden)) #resize-handle-left,
.memory-container:has(.memory-empty:not(.memory-loading-hidden)) #resize-handle-right {
  display: none !important;
}

/* Hide expand buttons during onboarding */

body:has(.memory-empty:not(.memory-loading-hidden)) #memory-expand-filters,
body:has(.memory-empty:not(.memory-loading-hidden)) #memory-expand-details {
  display: none !important;
}

/* Full width grid during onboarding */

.memory-container:has(.memory-empty:not(.memory-loading-hidden)) {
  grid-template-columns: 1fr !important;
}

.memory-loading-hidden {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  z-index: -1 !important;
  /* CRITICAL: Move below canvas to prevent scroll event capture */
}

.memory-loading-shimmer {
  width: 60px;
  height: 60px;
  border: 3px solid rgba(var(--odei-color-jade-rgb), 0.18);
  border-top-color: rgba(var(--odei-color-jade-rgb), 0.95);
  border-right-color: rgba(232, 236, 244, 0.68);
  border-radius: 50%;
  box-shadow:
    0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.25),
    0 0 22px rgba(var(--odei-color-jade-rgb), 0.2);
  animation: spin 0.95s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.memory-loading-text {
  margin-top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}

.memory-loading-title {
  width: 132px;
  height: 10px;
  background: linear-gradient(90deg, rgba(var(--odei-color-jade-rgb), 0.08), rgba(255, 255, 255, 0.2));
  border-radius: 4px;
  margin-bottom: 2px;
  animation: pulse 1.5s ease-in-out infinite;
}

.memory-loading-line {
  width: 224px;
  max-width: 72vw;
  height: 9px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.06), rgba(var(--odei-color-jade-rgb), 0.12));
  border-radius: 4px;
  margin-bottom: 0;
  animation: pulse 1.5s ease-in-out infinite;
}

.memory-loading-line.short {
  width: 168px;
  max-width: 58vw;
}

@keyframes pulse {
  0%,
  100% {
    opacity: 0.3;
  }

  50% {
    opacity: 0.6;
  }
}

.memory-empty h3 {
  font-size: clamp(18px, 2.4vw, 22px);
  color: var(--color-silver);
  margin: 16px 0 8px 0;
}

.memory-empty p {
  font-size: clamp(12px, 1.5vw, 14px);
  color: var(--color-pale-gray);
  max-width: 300px;
  text-align: center;
  line-height: 1.6;
  margin-bottom: var(--memory-section-spacing);
}

/* === Onboarding Empty State === */

.memory-empty-icon {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(var(--odei-color-jade-rgb), 0.15), rgba(var(--odei-color-jade-rgb), 0.05));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
  margin-bottom: 8px;
  animation: pulse-glow 3s ease-in-out infinite;
}

.memory-empty-icon svg {
  width: 40px;
  height: 40px;
  color: var(--odei-color-jade-500);
}

@keyframes pulse-glow {
  0%,
  100% {
    box-shadow: 0 0 20px rgba(var(--odei-color-jade-rgb), 0.2);
  }

  50% {
    box-shadow: 0 0 40px rgba(var(--odei-color-jade-rgb), 0.4);
  }
}

.onboarding-start-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 32px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #05060a;
  background: linear-gradient(135deg, var(--odei-color-jade-500), #38b2ac);
  border: none;
  border-radius: 12px;
  cursor: pointer;
  overflow: hidden;
  transition: all 0.3s ease;
}

.onboarding-start-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(var(--odei-color-jade-rgb), 0.4);
}

.onboarding-start-btn:active {
  transform: translateY(0);
}

.onboarding-start-btn .btn-glow {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transform: translateX(-100%);
  animation: btn-shimmer 3s infinite;
}

@keyframes btn-shimmer {
  0% {
    transform: translateX(-100%);
  }

  50%,
  100% {
    transform: translateX(100%);
  }
}

.onboarding-start-btn .btn-text {
  position: relative;
  z-index: 1;
}

/* === Onboarding Sphere Background === */

.onboarding-sphere {
  position: absolute;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.15);
  box-shadow:
    inset 0 0 60px rgba(var(--odei-color-jade-rgb), 0.05),
    0 0 80px rgba(var(--odei-color-jade-rgb), 0.08);
  animation: sphere-rotate 60s linear infinite;
  pointer-events: none;
  z-index: 0;
}

.onboarding-sphere::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: 50%;
  border: 1px dashed rgba(var(--odei-color-jade-rgb), 0.2);
  animation: sphere-rotate-reverse 45s linear infinite;
}

.onboarding-sphere::after {
  content: '';
  position: absolute;
  inset: 20px;
  border-radius: 50%;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.1);
  animation: sphere-rotate 30s linear infinite;
}

@keyframes sphere-rotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes sphere-rotate-reverse {
  from {
    transform: rotate(360deg);
  }

  to {
    transform: rotate(0deg);
  }
}

/* === Range Inputs === */

.memory-range-group {
  display: grid;
  gap: 10px;
  background: rgba(8, 12, 20, 0.65);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 10px;
  padding: 12px;
}

.memory-range-group label {
  display: grid;
  grid-template-columns: 32px 1fr 28px;
  gap: 10px;
  align-items: center;
  font-size: 11px;
  color: var(--color-silver);
  font-weight: 500;
}

.memory-panel-left .memory-range-group label {
  grid-template-columns: 28px 1fr 26px;
  gap: 8px;
  font-size: 10px;
}

.memory-range-group input[type='range'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: linear-gradient(90deg, rgba(var(--odei-color-jade-rgb), 0.35), rgba(var(--odei-color-gold-rgb), 0.3));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
  border-radius: 999px;
  height: 8px;
  outline: none;
  position: relative;
  cursor: pointer;
}

.memory-range-group input[type='range']::-webkit-slider-runnable-track {
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(var(--odei-color-jade-rgb), 0.35), rgba(var(--odei-color-gold-rgb), 0.3));
}

.memory-range-group input[type='range']::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  background: var(--color-pure-white);
  border: 2px solid rgba(var(--odei-color-jade-rgb), 0.7);
  border-radius: 50%;
  cursor: pointer;
  box-shadow:
    var(--shadow-md),
    0 0 12px rgba(var(--odei-color-jade-rgb), 0.35);
  -webkit-transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.memory-range-group input[type='range']::-webkit-slider-thumb:hover {
  transform: scale(1.15);
  box-shadow:
    var(--shadow-lg),
    0 0 18px rgba(var(--odei-color-jade-rgb), 0.45);
  background: var(--color-silver);
}

.memory-range-group input[type='range']::-webkit-slider-thumb:active {
  transform: scale(1.05);
}

.memory-range-group input[type='range']::-moz-range-track {
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(var(--odei-color-jade-rgb), 0.35), rgba(var(--odei-color-gold-rgb), 0.3));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
}

.memory-range-group input[type='range']::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid rgba(var(--odei-color-jade-rgb), 0.7);
  box-shadow:
    var(--shadow-md),
    0 0 12px rgba(var(--odei-color-jade-rgb), 0.35);
}

.memory-range-value {
  font-weight: 700;
  color: var(--color-pure-white);
  min-width: 28px;
  text-align: center;
  background: rgba(8, 12, 20, 0.7);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
  border-radius: 8px;
  padding: 3px 6px;
  font-size: 11px;
}

.memory-panel-left .memory-range-value {
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 6px;
}

/* === Date Inputs === */

.memory-date-grid {
  display: grid;
  gap: 8px;
}

.memory-date-grid label {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 10px;
  align-items: center;
  font-size: 11px;
  color: var(--color-silver);
  font-weight: 500;
}

.memory-panel-left .memory-date-grid label {
  grid-template-columns: 34px 1fr;
  gap: 8px;
  font-size: 10px;
}

.memory-date-grid input[type='date'] {
  background: var(--glass-bg);
  /* backdrop-filter: blur(10px); */
  border: 1px solid var(--glass-border);
  border-radius: 6px;
  padding: 8px 10px;
  color: var(--color-pure-white);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  font-family: inherit;
}

.memory-panel-left .memory-date-grid input[type='date'] {
  padding: 6px 8px;
  font-size: 11px;
  border-radius: 8px;
}

.memory-date-grid input[type='date']::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.6;
  filter: invert(1);
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

.memory-date-grid input[type='date']::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}

.memory-date-grid input[type='date']:hover {
  border-color: var(--glass-border-bright);
  background: var(--glass-bg-hover);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.memory-date-grid input[type='date']:focus {
  outline: none;
  border-color: var(--glass-border-bright);
  background: var(--glass-bg-active);
  box-shadow: var(--shadow-sm), var(--shadow-glow);
}

/* === Details Element === */

.memory-detail-raw {
  margin-top: 24px;
}

.memory-detail-raw summary {
  cursor: pointer;
  padding: 12px 16px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-silver);
  transition: all 0.2s ease;
}

.memory-detail-raw summary:hover {
  background: var(--glass-bg-hover);
  border-color: var(--glass-border-bright);
}

.memory-detail-raw pre {
  margin-top: 12px;
  padding: 16px;
  background: var(--color-deep-black);
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  font-size: 12px;
  color: var(--color-silver);
  overflow-x: auto;
  font-family: 'SF Mono', Monaco, monospace;
}

/* === Timeline === */

.memory-detail-timeline {
  margin-top: var(--memory-section-spacing);
}

.memory-detail-timeline h4 {
  font-size: clamp(11px, 1.2vw, 13px);
  font-weight: 600;
  color: var(--color-silver);
  text-transform: uppercase;
  letter-spacing: 0.9px;
  margin: 0 0 14px 0;
}

.memory-detail-timeline ol {
  list-style: none;
  padding: 0;
  margin: 0;
  border-left: 2px solid var(--glass-border);
  padding-left: 20px;
}

.memory-detail-timeline li {
  position: relative;
  padding: 12px 0;
  font-size: 13px;
  color: var(--color-silver);
}

.memory-detail-timeline li::before {
  content: '';
  position: absolute;
  left: -26px;
  top: 16px;
  width: 10px;
  height: 10px;
  background: var(--color-pure-white);
  border: 2px solid var(--glass-border-bright);
  border-radius: 50%;
  box-shadow: var(--shadow-glow);
}

/* === Responsive Adjustments === */

@media (max-width: 1400px) {
  .memory-container {
    grid-template-columns: minmax(210px, 26vw) 8px minmax(200px, 1fr) 8px minmax(230px, 28vw);
    padding: calc(var(--memory-gap) * 0.85);
  }
}

@media (max-width: 1200px) {
  .memory-container {
    grid-template-columns: 1fr;
    padding: calc(var(--memory-gap) * 0.75);
    gap: calc(var(--memory-gap) * 0.75);
  }

  .memory-panel-left,
  .memory-panel-right,
  .memory-resize-handle {
    display: none !important;
  }

  .memory-main {
    width: 100%;
    min-width: 0;
  }

  .memory-main-content {
    width: 100%;
  }

  .memory-graph-area {
    width: 100%;
    min-width: 400px;
  }
}

@media (max-width: 768px) {
  .memory-container {
    padding: calc(var(--memory-gap) * 0.6);
    gap: calc(var(--memory-gap) * 0.6);
  }

  .memory-main {
    padding: calc(var(--memory-padding) * 0.75);
    gap: calc(var(--memory-gap) * 0.7);
  }

  .memory-panel {
    padding: calc(var(--memory-panel-padding) * 0.75);
  }

  .memory-stats-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(var(--memory-gap) * 0.6);
  }

  .memory-legend {
    padding: calc(var(--memory-panel-padding) * 0.75);
  }

  .memory-mode-row {
    grid-template-columns: 1fr;
  }

  .memory-chip-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .memory-checkbox-grid {
    grid-template-columns: 1fr;
  }
}

/* === Memory Filters Container Queries === */

@container memoryFilters (max-width: 420px) {
  .memory-domains-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .memory-filter-tab {
    padding: 8px 10px;
    font-size: 11px;
    letter-spacing: 0.1em;
  }

  .memory-time-presets {
    gap: 6px;
  }

  .memory-time-preset {
    padding: 6px 10px;
    font-size: 10px;
  }
}

@container memoryFilters (max-width: 360px) {
  .memory-domains-grid {
    grid-template-columns: 1fr;
  }

  .memory-domain-toggle {
    padding: 9px 10px;
  }

  .memory-domain-icon {
    width: 26px;
    height: 26px;
  }

  .memory-domain-label {
    font-size: 11px;
    letter-spacing: 0.06em;
  }

  .memory-filter-tab {
    padding: 8px 8px;
    font-size: 10px;
    letter-spacing: 0.08em;
  }

  .memory-complexity-label {
    font-size: 10px;
  }

  .memory-complexity-value {
    font-size: 10px;
  }
}

@container memoryFilters (max-height: 780px) {
  .memory-panel-header {
    margin-bottom: calc(var(--memory-section-spacing) * 0.7);
    padding-bottom: 8px;
  }

  .memory-mode-stack {
    padding: 8px;
    gap: 6px;
  }

  .memory-filter-group {
    padding: 10px;
    gap: 8px;
  }

  .memory-domain-toggle {
    padding: 8px;
  }

  .memory-time-presets,
  .memory-complexity-control {
    padding: 8px;
  }

  .memory-relationship-section,
  .memory-backup-panel {
    margin-top: 8px;
  }
}

@media (max-height: 880px) {
  :root {
    --memory-gap: clamp(10px, 1.6vw, 18px);
    --memory-padding: clamp(14px, 2vw, 24px);
    --memory-panel-padding: clamp(12px, 1.8vw, 20px);
    --memory-card-radius: clamp(10px, 1.4vw, 18px);
    --memory-stat-size: clamp(18px, 2.6vw, 24px);
    --memory-section-spacing: clamp(10px, 1.6vh, 18px);
  }

  nav {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  #app > .bg-gray-900.border-t {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .memory-panel {
    font-size: 0.97rem;
  }

  .memory-stats-bar {
    grid-template-columns: repeat(auto-fit, minmax(95px, 1fr));
  }
}

@media (max-height: 780px) {
  :root {
    --memory-gap: clamp(8px, 1.2vw, 14px);
    --memory-padding: clamp(12px, 1.6vw, 20px);
    --memory-panel-padding: clamp(10px, 1.2vw, 16px);
    --memory-card-radius: clamp(8px, 1vw, 14px);
    --memory-stat-size: clamp(16px, 2.2vw, 22px);
    --memory-section-spacing: clamp(8px, 1.2vh, 14px);
  }

  .app-nav {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  #app > #app-footer {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  .memory-graph-area {
    min-height: 350px;
  }

  .memory-detail-body h3 {
    font-size: 1rem;
  }

  .memory-detail-description {
    font-size: 0.9rem;
  }
}

/* === Animations === */

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.memory-stat-card,
.memory-legend-item,
.agent-tab {
  animation: fadeIn 0.4s ease-out backwards;
}

.memory-stat-card:nth-child(1) {
  animation-delay: 0.05s;
}

.memory-stat-card:nth-child(2) {
  animation-delay: 0.1s;
}

.memory-stat-card:nth-child(3) {
  animation-delay: 0.15s;
}

.memory-stat-card:nth-child(4) {
  animation-delay: 0.2s;
}

.memory-stat-card:nth-child(5) {
  animation-delay: 0.25s;
}

.memory-stat-card:nth-child(6) {
  animation-delay: 0.3s;
}

.memory-stat-card:nth-child(7) {
  animation-delay: 0.35s;
}

.memory-stat-card:nth-child(8) {
  animation-delay: 0.4s;
}

/* === Utility Classes === */

.hidden {
  display: none !important;
}

/* CRITICAL FIX: Terminal-specific hiding that keeps canvas active
   xterm.js canvas cannot render if parent has display:none
   This approach keeps the canvas in the rendering tree */

[id^='terminal-'].hidden {
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

/* CRITICAL FIX: Graph canvas-specific hiding that keeps Three.js renderer active
   Three.js WebGLRenderer cannot render if parent has display:none
   This approach keeps the canvas in the rendering tree (same as terminal fix) */

.graph-split-layout.hidden {
  display: flex !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

/* === Typography Enhancements === */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  letter-spacing: -0.3px;
}

code,
kbd {
  font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace;
}

/* === Focus Styles === */

*:focus-visible {
  outline: 2px solid var(--glass-border-bright);
  outline-offset: 2px;
}

/* === Recent Conversations (rows) === */

.conversation-row {
  --rc-accent: var(--agent-commander);
  --rc-accent-soft: var(--agent-commander-soft);
  --rc-accent-strong: var(--agent-commander-strong);
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) max-content;
  align-items: start;
  gap: 14px;
  padding: 12px 14px;
  background: linear-gradient(150deg, rgba(10, 15, 28, 0.92), rgba(8, 12, 22, 0.9));
  border: 1px solid var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.2));
  border-radius: 12px;
  box-shadow: 0 12px 22px rgba(0, 0, 0, 0.32);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
  animation: none;
}

@keyframes rcEnter {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.conversation-row::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.16)), transparent 65%);
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

.conversation-row:hover {
  transform: translateY(-1px);
  border-color: var(--rc-accent-strong, rgba(var(--odei-color-gold-rgb), 0.45));
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.42);
}

.conversation-row:hover::before {
  opacity: 0.6;
}

.conversation-row[aria-selected='true'] {
  background: linear-gradient(
    160deg,
    var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.26)),
    rgba(9, 14, 26, 0.86)
  );
  border-color: var(--rc-accent-strong, rgba(var(--odei-color-jade-rgb), 0.6)) !important;
  box-shadow:
    0 18px 32px rgba(0, 0, 0, 0.42),
    0 0 0 1px var(--rc-accent-soft, rgba(var(--odei-color-jade-rgb), 0.28)) inset;
}

.conversation-row[aria-selected='true'] .continue-conversation-btn,
.conversation-row[aria-selected='true'] .copy-conversation-btn,
.conversation-row[aria-selected='true'] .delete-conversation-btn {
  opacity: 1 !important;
}

/* Force buttons to always be visible */

.copy-conversation-btn,
.delete-conversation-btn {
  opacity: 1 !important;
  display: inline-block !important;
  visibility: visible !important;
}

.bg-gray-750 {
  background-color: rgba(55, 65, 81, 0.5);
}

/* === Context Monitor Flash Animation === */

@keyframes flash {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.3;
    transform: scale(1.1);
  }
}

/* === Memory Collapsible Groups === */

.collapsible.collapsed .memory-filter-collapse-content {
  display: none;
}

.collapsible .memory-filter-collapse-toggle svg {
  transition: transform 0.2s ease;
}

.collapsible.collapsed .memory-filter-collapse-toggle svg {
  transform: rotate(-90deg);
}

/* === MCP Status Indicators === */

.mcp-status-group {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  padding: 6px 8px;
  background: linear-gradient(135deg, rgba(12, 18, 30, 0.78), rgba(12, 22, 36, 0.84));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  border-radius: 10px;
  box-shadow:
    0 6px 12px rgba(0, 0, 0, 0.18),
    0 0 8px rgba(var(--odei-color-jade-rgb), 0.1);
}

.mcp-status-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: rgba(10, 14, 24, 0.6);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.15);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  color: var(--text-secondary);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.mcp-status-pill[data-counter] {
  padding-right: 26px;
}

.mcp-status-pill span {
  color: var(--text-primary);
}

.mcp-icon {
  opacity: 0.85;
  width: 12px;
  height: 12px;
  transition: opacity 0.3s ease;
}

.mcp-status-pill:hover .mcp-icon {
  opacity: 1;
}

.mcp-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--text-muted);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease;
}

/* Status States */

.mcp-status-pill.ok .mcp-dot {
  background: var(--accent-emerald);
  box-shadow: 0 0 8px rgba(var(--odei-color-jade-rgb), 0.6);
}

.mcp-status-pill.warning .mcp-dot {
  background: var(--accent-secondary, var(--odei-color-gold-500));
  box-shadow: 0 0 8px rgba(var(--odei-color-gold-rgb), 0.55);
}

.mcp-status-pill.error .mcp-dot {
  background: var(--accent-danger);
  box-shadow: 0 0 8px rgba(239, 68, 68, 0.6);
}

.mcp-status-pill.unknown .mcp-dot {
  background: var(--text-muted);
  box-shadow: 0 0 6px rgba(148, 163, 184, 0.35);
}

.mcp-status-pill.ok {
  border-color: rgba(var(--odei-color-jade-rgb), 0.25);
  background: linear-gradient(145deg, rgba(var(--odei-color-jade-rgb), 0.05), transparent);
}

.mcp-status-pill.warning {
  border-color: rgba(var(--odei-color-gold-rgb), 0.36);
  background: linear-gradient(145deg, rgba(var(--odei-color-gold-rgb), 0.08), transparent);
}

.mcp-status-pill.error {
  border-color: rgba(239, 68, 68, 0.25);
  background: linear-gradient(145deg, rgba(239, 68, 68, 0.05), transparent);
}

.mcp-status-pill.unknown {
  border-color: rgba(148, 163, 184, 0.25);
  background: rgba(10, 14, 24, 0.6);
}

.mcp-status-pill[data-counter]::after {
  content: attr(data-counter);
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  min-width: 14px;
  height: 14px;
  padding: 0 4px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.4);
  background: rgba(148, 163, 184, 0.22);
  color: var(--text-primary);
  font-size: 9px;
  font-weight: 700;
  line-height: 12px;
  text-align: center;
}

.mcp-status-pill[data-counter-kind='pending']::after {
  border-color: rgba(var(--odei-color-gold-rgb), 0.55);
  background: rgba(var(--odei-color-gold-rgb), 0.24);
  color: var(--accent-secondary, var(--odei-color-gold-500));
}

.mcp-status-pill[data-counter-kind='degraded']::after {
  border-color: rgba(255, 123, 123, 0.5);
  background: rgba(255, 123, 123, 0.2);
  color: var(--accent-danger, var(--odei-color-danger-400));
}

.mcp-status-group[data-runtime-error='true'] {
  border-color: rgba(255, 123, 123, 0.35);
  box-shadow:
    0 6px 12px rgba(0, 0, 0, 0.22),
    0 0 10px rgba(255, 123, 123, 0.12);
}

/* === Footer === */

#app-footer {
  position: relative;
  background: linear-gradient(110deg, rgba(8, 12, 20, 0.95), rgba(10, 16, 26, 0.96) 50%, rgba(12, 20, 32, 0.94));
  border-top: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
  box-shadow:
    0 -12px 26px rgba(2, 6, 23, 0.5),
    0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.08);
  padding: clamp(6px, 1vh, 10px) clamp(14px, 3vw, 24px);
  color: var(--text-secondary);
  flex-shrink: 0;
  overflow: visible;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 10px;
  z-index: 20;
}

#app-footer::before {
  display: none;
}

.footer-inline {
  position: relative;
  display: flex;
  align-items: center;
  gap: clamp(6px, 1vw, 12px);
  width: 100%;
  flex-wrap: nowrap;
  overflow: visible;
  min-height: 46px;
}

.footer-identity {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: linear-gradient(145deg, rgba(10, 14, 22, 0.9), rgba(12, 18, 30, 0.92));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.28);
  border-radius: 12px;
  box-shadow:
    0 10px 18px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.footer-glow-dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(145deg, var(--accent-emerald), #60a5fa);
  box-shadow: 0 0 12px rgba(var(--odei-color-jade-rgb), 0.65);
}

.footer-title-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.footer-title {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-primary);
}

.footer-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-secondary);
  font-size: 11px;
  letter-spacing: 0.08em;
}

.footer-chip.live {
  background: linear-gradient(120deg, rgba(var(--odei-color-jade-rgb), 0.18), rgba(var(--odei-color-jade-rgb), 0.05));
  border-color: rgba(var(--odei-color-jade-rgb), 0.5);
  color: #79ffe1;
  box-shadow: 0 0 12px rgba(var(--odei-color-jade-rgb), 0.3);
}

.footer-subtitle {
  font-size: 12px;
  color: rgba(226, 232, 240, 0.82);
  letter-spacing: 0.02em;
}

.footer-agent-stack {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 10px;
  background: linear-gradient(135deg, rgba(10, 14, 24, 0.82), rgba(12, 18, 30, 0.88));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.18);
  border-radius: 10px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.28);
}

.footer-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: rgba(226, 232, 240, 0.7);
  padding-top: 2px;
}

.footer-agent-rows {
  display: flex;
  align-items: center;
  gap: clamp(6px, 1vw, 10px);
  flex: 1 1 360px;
  min-width: 0;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 2px;
  scrollbar-gutter: stable both-edges;
  overscroll-behavior-x: contain;
}

.footer-agent-rows .agent-status-row {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.12);
  padding: 6px 9px;
  border-radius: 10px;
  box-shadow:
    0 4px 10px rgba(0, 0, 0, 0.18),
    0 0 8px rgba(var(--odei-color-jade-rgb), 0.1);
  gap: 8px;
  min-height: 34px;
  min-width: 92px;
  flex: 0 0 auto;
  cursor: pointer;
}

.footer-agent-rows .agent-status-row:hover {
  border-color: rgba(var(--odei-color-gold-rgb), 0.45);
  background: rgba(var(--odei-color-gold-rgb), 0.08);
}

.footer-agent-rows .agent-status-row span {
  color: #e2e8f0;
  font-weight: 700;
  letter-spacing: 0.01em;
  font-size: 12px;
  white-space: nowrap;
}

.footer-agent-rows .agent-status-row.bg-gray-800 {
  background: rgba(var(--odei-color-jade-rgb), 0.12) !important;
  border-color: rgba(var(--odei-color-jade-rgb), 0.45) !important;
  box-shadow:
    0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.25),
    0 14px 24px rgba(0, 0, 0, 0.32);
  color: var(--text-primary);
}

/* Agent Control Buttons (Play/Stop) */

.agent-control-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  color: rgba(var(--odei-color-jade-rgb), 0.7);
  cursor: pointer;
  transition: all 0.15s ease;
  opacity: 0.6;
}

.agent-control-btn:hover {
  opacity: 1;
  background: rgba(var(--odei-color-jade-rgb), 0.25);
  color: var(--odei-color-jade-500);
  transform: scale(1.1);
}

.agent-control-btn:active {
  transform: scale(0.95);
}

/* Running state - show stop icon */

.agent-status-row[data-running='true'] .agent-control-btn {
  background: rgba(255, 123, 123, 0.15);
  color: rgba(255, 123, 123, 0.7);
}

.agent-status-row[data-running='true'] .agent-control-btn:hover {
  background: rgba(255, 123, 123, 0.25);
  color: var(--odei-color-danger-400);
}

.agent-status-row[data-running='true'] .agent-control-btn .play-icon {
  display: none;
}

.agent-status-row[data-running='true'] .agent-control-btn .stop-icon {
  display: block;
}

/* Stopped state - show play icon */

.agent-status-row[data-running='false'] .agent-control-btn .play-icon,
.agent-status-row:not([data-running]) .agent-control-btn .play-icon {
  display: block;
}

.agent-status-row[data-running='false'] .agent-control-btn .stop-icon,
.agent-status-row:not([data-running]) .agent-control-btn .stop-icon {
  display: none;
}

.footer-health {
  display: flex;
  align-items: center;
  gap: 8px;
}

.footer-clock {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  background: linear-gradient(145deg, rgba(10, 14, 22, 0.9), rgba(12, 18, 30, 0.92));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  border-radius: 12px;
  box-shadow:
    0 8px 16px rgba(0, 0, 0, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.footer-timestamp {
  font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace;
  font-size: 13px;
  color: #e2e8f0;
  letter-spacing: 0.04em;
}

/* ============================================
   DASHBOARD 3-PANEL GRAPH LAYOUT
   ============================================ */

/* Command Center Container Chain */

.command-center {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--bg-01, #05060a);
}

.command-layer-content {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.layer-graph-container {
  height: 100%;
  width: 100%;
}

/* Main Layout Container */

.layer-graph-layout {
  height: 100%;
  min-height: 0;
  background: var(--bg-01, #05060a);
}

/* Split Layout: Nodes Panel + Graph */

.graph-split-layout {
  display: flex;
  height: 100%;
  gap: 0;
}

/* ---- PANEL RESIZE HANDLE ---- */

.panel-resize-handle {
  width: 6px;
  flex-shrink: 0;
  background: transparent;
  cursor: col-resize;
  position: relative;
  z-index: 10;
  transition: background 0.15s ease;
}

.panel-resize-handle::before {
  content: '';
  position: absolute;
  left: 2px;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 40px;
  background: rgba(var(--odei-color-jade-rgb), 0.3);
  border-radius: 1px;
  opacity: 0;
  transition:
    opacity 0.15s ease,
    height 0.15s ease;
}

.panel-resize-handle:hover::before {
  opacity: 1;
  height: 60px;
}

.panel-resize-handle:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.1);
}

.panel-resize-handle.active {
  background: rgba(var(--odei-color-jade-rgb), 0.15);
}

.panel-resize-handle.active::before {
  opacity: 1;
  height: 80px;
  background: rgba(var(--odei-color-jade-rgb), 0.6);
}

/* ---- NODES PANEL ---- */

.nodes-panel {
  width: 320px;
  min-width: 320px;
  max-width: 320px;
  flex-shrink: 0;
  background: rgba(11, 14, 20, 0.95);
  border-right: 1px solid rgba(var(--odei-color-jade-rgb), 0.15);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: 100%;
}

.nodes-panel-header {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.nodes-panel-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--ink-high, #e8ecf4);
  letter-spacing: 0.02em;
}

.nodes-panel-count {
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  color: var(--odei-color-jade-500);
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 600;
  margin-right: auto;
}

/* Labels toggle button */

.labels-toggle-btn {
  background: transparent;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
  border-radius: 6px;
  padding: 6px 8px;
  cursor: pointer;
  color: var(--muted, #7c889a);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.labels-toggle-btn:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.1);
  border-color: rgba(var(--odei-color-jade-rgb), 0.5);
  color: var(--odei-color-jade-500);
}

.labels-toggle-btn.active {
  background: rgba(var(--odei-color-jade-rgb), 0.2);
  border-color: var(--odei-color-jade-500);
  color: var(--odei-color-jade-500);
}

.labels-toggle-btn svg {
  width: 14px;
  height: 14px;
}

.nodes-panel-search {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.05);
}

.nodes-search-input {
  width: 100%;
  background: var(--bg-03, #0a0a0a);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 14px;
  color: var(--ink-high, #e8ecf4);
  outline: none;
  transition: border-color 0.15s;
}

.nodes-search-input:focus {
  border-color: rgba(var(--odei-color-jade-rgb), 0.5);
}

.nodes-search-input::-moz-placeholder {
  color: var(--muted, #7c889a);
}

.nodes-search-input::placeholder {
  color: var(--muted, #7c889a);
}

.nodes-handoff {
  padding: 10px 12px 12px;
  border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.08);
  background: rgba(12, 16, 24, 0.7);
}

.nodes-handoff-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-low, #95a1b6);
  margin-bottom: 8px;
}

.nodes-handoff-count {
  padding: 2px 8px;
  border-radius: 10px;
  background: rgba(var(--odei-color-gold-rgb), 0.18);
  color: var(--odei-color-gold-500);
  font-size: 11px;
  font-weight: 700;
}

.nodes-handoff-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 160px;
  overflow-y: auto;
}

.nodes-handoff-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(18, 22, 34, 0.7);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.12);
  cursor: pointer;
  transition: all 0.2s ease;
}

.nodes-handoff-item:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.4);
  transform: translateX(2px);
}

.nodes-handoff-title {
  font-size: 12px;
  font-weight: 600;
  color: var(--ink-high, #e8ecf4);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.nodes-handoff-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-low, #95a1b6);
}

.nodes-handoff-tag {
  padding: 2px 6px;
  border-radius: 999px;
  border: 1px solid rgba(var(--odei-color-gold-rgb), 0.35);
  color: var(--odei-color-gold-500);
  font-weight: 700;
}

.nodes-handoff-empty {
  font-size: 12px;
  color: var(--ink-low, #95a1b6);
  padding: 6px 0;
  text-align: center;
}

.nodes-panel-list {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.nodes-loading,
.nodes-empty {
  padding: 24px 16px;
  text-align: center;
  color: var(--muted, #7c889a);
  font-size: 14px;
}

/* Nodes Group */

.nodes-group {
  margin-bottom: 8px;
}

.nodes-group-header {
  padding: 10px 16px 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ink-med, #b6c0d2);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: all 0.15s ease;
  border-radius: 6px;
  margin: 0 4px;
}

.nodes-group-header:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.08);
  color: var(--ink-high, #e8ecf4);
}

/* Collapsible chevron */

.nodes-group-chevron {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
  color: var(--muted, #7c889a);
}

.nodes-group-chevron.chevron-expanded {
  transform: rotate(0deg);
}

.nodes-group-chevron.chevron-collapsed {
  transform: rotate(-90deg);
}

.nodes-group.collapsed .nodes-group-header {
  color: var(--muted, #7c889a);
}

.nodes-group-icon {
  font-size: 14px;
}

.nodes-group-count {
  margin-left: auto;
  background: rgba(255, 255, 255, 0.06);
  padding: 2px 8px;
  border-radius: 8px;
  font-size: 12px;
  color: var(--muted, #7c889a);
}

.nodes-group-items {
  padding: 0 8px;
}

/* Nested type groups inside nodes panel */

.nodes-type-group {
  margin-left: 8px;
  border-left: 1px solid rgba(var(--odei-color-jade-rgb), 0.08);
  padding-left: 8px;
}

.nodes-type-header {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 4px;
  cursor: pointer;
  color: var(--text-primary);
  border-radius: 6px;
}

.nodes-type-header:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.06);
}

.nodes-type-title {
  font-size: 12px;
  font-weight: 600;
}

.nodes-type-count {
  margin-left: auto;
  font-size: 11px;
  color: var(--text-muted);
}

.nodes-type-items {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 4px;
  margin-bottom: 6px;
}

/* Node Item */

.node-item {
  display: flex;
  gap: 10px;
  padding: 10px 12px;
  margin: 2px 0;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
  background: transparent;
  border: 1px solid transparent;
}

.node-item:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.06);
  border-color: rgba(var(--odei-color-jade-rgb), 0.15);
}

.node-item.selected {
  background: rgba(var(--odei-color-jade-rgb), 0.12);
  border-color: rgba(var(--odei-color-jade-rgb), 0.3);
}

.node-item-color {
  width: 4px;
  min-width: 4px;
  border-radius: 2px;
  flex-shrink: 0;
}

.node-item-content {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.node-item-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--ink-high, #e8ecf4);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 3px;
}

.node-item-meta {
  display: flex;
  gap: 8px;
  margin-bottom: 4px;
  flex-wrap: wrap;
}

.node-item-type {
  font-size: 11px;
  color: var(--muted, #7c889a);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.node-item-owner,
.node-item-due,
.node-item-priority {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ink-low, #95a1b6);
}

.node-item-due.overdue {
  color: var(--odei-color-danger-400);
}

.node-item-due.due-today,
.node-item-due.due-soon {
  color: var(--odei-color-gold-500);
}

.node-item-priority.priority-critical,
.node-item-priority.priority-high,
.node-item-priority.priority-core,
.node-item-priority.priority-p0,
.node-item-priority.priority-p1 {
  color: #f97316;
}

.node-item-summary {
  font-size: 13px;
  color: var(--ink-med, #b6c0d2);
  line-height: 1.4;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* Graph Fullscreen */

.graph-fullscreen {
  flex: 1;
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.graph-viewport {
  position: relative;
  flex: 1;
  min-height: 0;
}

/* Reload / Reset graph controls */

.graph-control-stack {
  position: absolute;
  top: 14px;
  right: 14px;
  display: flex;
  gap: 10px;
  z-index: 60;
}

.graph-reload-btn,
.graph-reset-btn {
  position: relative;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(11, 14, 20, 0.9);
  border: 1px solid var(--glass-border, rgba(var(--odei-color-jade-rgb), 0.3));
  border-radius: 12px;
  color: var(--ink-med, #b6c0d2);
  cursor: pointer;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: all 0.2s ease;
}

.graph-reload-btn:hover,
.graph-reset-btn:hover {
  border-color: var(--glass-border-hover, rgba(var(--odei-color-jade-rgb), 0.5));
  color: var(--accent-primary, var(--odei-color-jade-500));
  box-shadow: 0 0 10px rgba(var(--odei-color-jade-rgb), 0.25);
}

.graph-reload-btn:active,
.graph-reset-btn:active {
  transform: translateY(1px);
}

.graph-reload-btn.spinning svg {
  animation: spin 0.8s linear infinite;
  color: var(--accent-primary, var(--odei-color-jade-500));
}

/* Time Travel Preview */

.graph-timebar {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 6px 0 10px;
  background: transparent;
  border: none;
  border-radius: 0;
  z-index: 5;
  pointer-events: auto;
}

.graph-timebar.disabled {
  opacity: 0.6;
  pointer-events: none;
}

.timebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  color: var(--ink-med, #b6c0d2);
}

.timebar-title {
  font-weight: 600;
  color: var(--ink-high, #e8ecf4);
}

.timebar-current {
  font-weight: 600;
  color: var(--accent-primary, var(--odei-color-jade-500));
}

.timebar-range {
  font-size: 11px;
  color: var(--ink-dim, #8a94a6);
}

.timebar-slider-row {
  display: grid;
  gap: 6px;
}

.graph-time-slider {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: linear-gradient(90deg, rgba(var(--odei-color-jade-rgb), 0.35), rgba(var(--odei-color-gold-rgb), 0.3));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
  border-radius: 999px;
  height: 8px;
  width: 100%;
  outline: none;
  cursor: pointer;
}

.graph-time-slider::-webkit-slider-runnable-track {
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(var(--odei-color-jade-rgb), 0.35), rgba(var(--odei-color-gold-rgb), 0.3));
}

.graph-time-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  background: var(--color-pure-white, #ffffff);
  border: 2px solid rgba(var(--odei-color-jade-rgb), 0.7);
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 0 10px rgba(var(--odei-color-jade-rgb), 0.35);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.graph-time-slider::-webkit-slider-thumb:hover {
  transform: scale(1.12);
}

.graph-time-slider::-moz-range-track {
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(var(--odei-color-jade-rgb), 0.35), rgba(var(--odei-color-gold-rgb), 0.3));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
}

.graph-time-slider::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid rgba(var(--odei-color-jade-rgb), 0.7);
  box-shadow: 0 0 10px rgba(var(--odei-color-jade-rgb), 0.35);
}

.timebar-ticks {
  position: relative;
  height: 14px;
}

.timebar-tick {
  position: absolute;
  top: 0;
  width: 1px;
  height: 6px;
  background: rgba(var(--odei-color-jade-rgb), 0.35);
}

.timebar-tick-label {
  position: absolute;
  top: 6px;
  transform: translateX(-50%);
  font-size: 10px;
  color: var(--ink-dim, #8a94a6);
  white-space: nowrap;
}

.graph-preview-indicator {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0 8px;
  background: transparent;
  border: none;
  border-radius: 0;
  font-size: 12px;
  color: var(--ink-med, #b6c0d2);
  z-index: 5;
}

.preview-return-btn {
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  border: 1px solid var(--accent-primary, var(--odei-color-jade-500));
  color: var(--accent-primary, var(--odei-color-jade-500));
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.preview-return-btn:hover {
  border-color: var(--glass-border-hover, rgba(var(--odei-color-jade-rgb), 0.6));
  box-shadow: 0 0 10px rgba(var(--odei-color-jade-rgb), 0.25);
}

.preview-readonly .action-btn {
  opacity: 0.5;
  pointer-events: none;
}

@media (max-width: 900px) {
  .graph-timebar {
    padding-bottom: 8px;
  }
}

.layer-graph-layout .panel {
  background: var(--bg-02, #0b0e14);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* ---- LEFT PANEL: Node List ---- */

.node-list-panel {
  border-right: 1px solid rgba(var(--odei-color-jade-rgb), 0.1);
}

.node-list-panel .panel-header {
  padding: 16px;
  border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.node-list-panel .panel-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink-high, #e8ecf4);
}

.node-list-panel .panel-title .layer-icon {
  font-size: 16px;
}

.node-list-panel .node-count {
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  color: var(--odei-color-jade-500);
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
}

.node-list-panel .add-btn {
  background: transparent;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
  color: var(--odei-color-jade-500);
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.node-list-panel .add-btn:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.1);
  border-color: var(--odei-color-jade-500);
}

.node-list-panel .list-search {
  padding: 12px 16px;
  border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.05);
}

.node-list-panel .list-search input {
  width: 100%;
  background: var(--bg-03, #0a0a0a);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  border-radius: 8px;
  padding: 8px 12px;
  color: var(--ink-high, #e8ecf4);
  font-size: 13px;
  outline: none;
  transition: border-color 0.15s ease;
}

.node-list-panel .list-search input:focus {
  border-color: var(--odei-color-jade-500);
}

.node-list-panel .list-search input::-moz-placeholder {
  color: var(--muted, #7c889a);
}

.node-list-panel .list-search input::placeholder {
  color: var(--muted, #7c889a);
}

.node-list-panel .list-items {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}

.node-list-panel .list-empty {
  padding: 32px 16px;
  text-align: center;
  color: var(--muted, #7c889a);
  font-size: 13px;
}

/* Node List Items */

.node-list-item {
  padding: 12px;
  border-radius: 8px;
  cursor: pointer;
  margin-bottom: 4px;
  border: 1px solid transparent;
  transition: all 0.15s ease;
}

.node-list-item:hover {
  background: var(--bg-03, #0a0a0a);
  border-color: rgba(var(--odei-color-jade-rgb), 0.2);
}

.node-list-item.selected {
  background: rgba(var(--odei-color-jade-rgb), 0.1);
  border-color: var(--odei-color-jade-500);
}

.node-list-item .item-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.node-list-item .status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.node-list-item .item-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--ink-high, #e8ecf4);
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.node-list-item .item-type {
  display: inline-block;
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  color: var(--odei-color-jade-500);
  text-transform: uppercase;
  font-weight: 500;
}

.node-list-item .item-summary {
  font-size: 12px;
  color: var(--ink-med, #b6c0d2);
  margin-top: 6px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ---- CENTER PANEL: Graph ---- */

.graph-panel {
  position: relative;
  background: var(--bg-01, #05060a);
}

.graph-panel .graph-container {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.graph-panel .graph-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--muted, #7c889a);
  font-size: 14px;
  gap: 12px;
}

.graph-panel .graph-empty-icon {
  font-size: 48px;
  opacity: 0.5;
}

.graph-panel .graph-hint {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(11, 14, 20, 0.9);
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 12px;
  color: var(--ink-med, #b6c0d2);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.1);
}

/* ---- RIGHT PANEL: Details ---- */

.details-panel {
  border-left: 1px solid rgba(var(--odei-color-jade-rgb), 0.1);
  overflow-y: auto;
}

.details-panel .panel-header {
  padding: 20px 16px;
  border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.1);
}

.details-panel .detail-title {
  font-size: 18px;
  font-weight: 600;
  color: var(--ink-high, #e8ecf4);
  margin-bottom: 12px;
  line-height: 1.3;
}

.details-panel .detail-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.details-panel .detail-badge {
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  font-weight: 500;
}

.details-panel .badge-type {
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  color: var(--odei-color-jade-500);
}

.details-panel .badge-status {
  background: rgba(74, 222, 128, 0.15);
  color: #4ade80;
}

.details-panel .badge-status.active {
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  color: var(--odei-color-jade-500);
}

.details-panel .badge-status.in_progress {
  background: rgba(var(--odei-color-gold-rgb), 0.15);
  color: var(--odei-color-gold-500);
}

.details-panel .badge-status.blocked {
  background: rgba(255, 123, 123, 0.15);
  color: var(--odei-color-danger-400);
}

.details-panel .badge-status.status-done {
  background: rgba(74, 222, 128, 0.15);
  color: #4ade80;
}

.details-panel .badge-status.status-active {
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  color: var(--odei-color-jade-500);
}

.details-panel .badge-status.status-blocked {
  background: rgba(255, 123, 123, 0.15);
  color: var(--odei-color-danger-400);
}

.details-panel .badge-status.status-todo {
  background: rgba(124, 136, 154, 0.15);
  color: #7c889a;
}

.details-panel .badge-priority {
  background: rgba(var(--odei-color-jade-rgb), 0.1);
  color: var(--ink-med, #b6c0d2);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.details-panel .badge-horizon {
  background: rgba(var(--odei-color-gold-rgb), 0.15);
  color: var(--odei-color-gold-500);
}

.details-panel .panel-content {
  padding: 16px;
}

.details-panel .detail-section {
  margin-bottom: 20px;
}

.details-panel .section-label {
  font-size: 11px;
  color: var(--muted, #7c889a);
  text-transform: uppercase;
  margin-bottom: 6px;
  font-weight: 500;
  letter-spacing: 0.5px;
}

.details-panel .section-value {
  font-size: 14px;
  color: var(--ink-med, #b6c0d2);
  line-height: 1.5;
}

.details-panel .section-value a {
  color: var(--odei-color-jade-500);
  text-decoration: none;
}

.details-panel .section-value a:hover {
  text-decoration: underline;
}

/* Connections List */

.details-panel .connections-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.details-panel .connections-count {
  font-size: 12px;
  color: var(--muted, #7c889a);
}

.details-panel .connections-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.details-panel .connection-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: var(--bg-03, #0a0a0a);
  border-radius: 8px;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.15s ease;
}

.details-panel .connection-item:hover {
  background: var(--bg-04, #1d2331);
  border-color: rgba(var(--odei-color-jade-rgb), 0.2);
}

.details-panel .connection-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.details-panel .connection-info {
  flex: 1;
  min-width: 0;
}

.details-panel .connection-title {
  font-size: 13px;
  color: var(--ink-high, #e8ecf4);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.details-panel .connection-type {
  font-size: 10px;
  color: var(--muted, #7c889a);
  text-transform: uppercase;
}

.details-panel .connection-rel {
  font-size: 10px;
  color: var(--odei-color-jade-500);
  background: rgba(var(--odei-color-jade-rgb), 0.1);
  padding: 2px 6px;
  border-radius: 4px;
}

/* Action Buttons */

.details-panel .panel-actions {
  padding: 16px;
  border-top: 1px solid rgba(var(--odei-color-jade-rgb), 0.1);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.details-panel .action-btn {
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
  text-align: center;
  border: none;
}

.details-panel .action-btn-primary {
  background: linear-gradient(135deg, var(--odei-color-jade-500), #38b2ac);
  color: #05060a;
}

.details-panel .action-btn-primary:hover {
  filter: brightness(1.1);
}

.details-panel .action-btn-secondary {
  background: var(--bg-03, #0a0a0a);
  color: var(--ink-high, #e8ecf4);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
}

.details-panel .action-btn-secondary:hover {
  border-color: var(--odei-color-jade-500);
  background: var(--bg-04, #1d2331);
}

.details-panel .action-btn-danger {
  background: transparent;
  color: var(--odei-color-danger-400);
  border: 1px solid rgba(255, 123, 123, 0.3);
}

.details-panel .action-btn-danger:hover {
  background: rgba(255, 123, 123, 0.1);
  border-color: var(--odei-color-danger-400);
}

/* Empty State */

.details-panel .empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--muted, #7c889a);
  text-align: center;
  padding: 32px;
}

.details-panel .empty-state-icon {
  font-size: 48px;
  margin-bottom: 16px;
  opacity: 0.5;
}

.details-panel .empty-state-text {
  font-size: 14px;
}

/* ---- RESPONSIVE ---- */

@media (max-width: 1200px) {
  .layer-graph-layout {
    grid-template-columns: 240px 1fr 280px;
  }
}

@media (max-width: 1000px) {
  .layer-graph-layout {
    grid-template-columns: 220px 1fr;
  }

  .details-panel {
    display: none;
  }
}

@media (max-width: 768px) {
  .layer-graph-layout {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }

  .node-list-panel {
    border-right: none;
    border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.1);
    max-height: 250px;
  }

  .node-list-panel .list-items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px;
  }

  .node-list-item {
    flex: 0 0 auto;
    width: auto;
    padding: 8px 12px;
  }

  .node-list-item .item-summary {
    display: none;
  }
}

/* ===== KANBAN BOARD - ENHANCED ===== */

/* Wrapper - scrollable container */

.kanban-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow-y: auto;
  /* Full page scrolls */
  overflow-x: hidden;
  position: relative;
}

/* Custom scrollbar for kanban wrapper */

.kanban-wrapper::-webkit-scrollbar {
  width: 10px;
}

.kanban-wrapper::-webkit-scrollbar-track {
  background: rgba(11, 14, 20, 0.4);
}

.kanban-wrapper::-webkit-scrollbar-thumb {
  background: rgba(var(--odei-color-jade-rgb), 0.3);
  border-radius: 5px;
}

.kanban-wrapper::-webkit-scrollbar-thumb:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.5);
}

/* Toolbar */

.kanban-toolbar {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  background: rgba(11, 14, 20, 0.8);
  border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.1);
  flex-shrink: 0;
  flex-wrap: nowrap;
  min-height: 56px;
}

.kanban-search-wrapper {
  position: relative;
  flex: 0 0 240px;
}

.kanban-search-icon {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted, #7c889a);
  pointer-events: none;
}

.kanban-search {
  width: 100%;
  padding: 8px 32px 8px 32px;
  background: rgba(29, 35, 49, 0.6);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.15);
  border-radius: 6px;
  color: var(--ink-high, #e8ecf4);
  font-size: 13px;
  transition: all 0.15s ease;
}

.kanban-search:focus {
  outline: none;
  border-color: rgba(var(--odei-color-jade-rgb), 0.4);
  background: rgba(29, 35, 49, 0.8);
}

.kanban-search::-moz-placeholder {
  color: var(--muted, #7c889a);
}

.kanban-search::placeholder {
  color: var(--muted, #7c889a);
}

.kanban-search-clear {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: var(--muted, #7c889a);
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.15s ease;
}

.kanban-search-clear:hover {
  color: var(--odei-color-jade-500);
  background: rgba(var(--odei-color-jade-rgb), 0.1);
}

.kanban-filters {
  display: flex;
  gap: 8px;
}

.kanban-chips {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  padding: 2px 0;
  flex: 1 1 260px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

.kanban-chips::-webkit-scrollbar {
  height: 0;
}

.kanban-chip {
  --chip-accent: var(--accent-primary);
  --chip-glow: rgba(var(--odei-color-jade-rgb), 0.25);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px 6px 10px;
  background: linear-gradient(180deg, rgba(16, 22, 34, 0.92), rgba(10, 14, 24, 0.9));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.16);
  border-radius: 999px;
  color: var(--color-silver, #b6c0d2);
  font-size: 11px;
  font-family: var(--font-tactical, 'Eurostile', 'DIN', sans-serif);
  letter-spacing: 0.5px;
  text-transform: none;
  cursor: pointer;
  transition: all 0.18s ease;
  position: relative;
}

.kanban-chip::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--chip-accent);
  box-shadow: 0 0 10px var(--chip-glow);
}

.kanban-chip:hover {
  border-color: var(--chip-accent);
  color: var(--color-white-smoke, #e8ecf4);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.35);
}

.kanban-chip:focus-visible {
  outline: none;
  border-color: var(--chip-accent);
  box-shadow: 0 0 0 2px var(--chip-glow);
}

.kanban-chip.active {
  color: var(--chip-accent);
  border-color: var(--chip-accent);
  background: linear-gradient(180deg, rgba(18, 26, 38, 0.98), rgba(10, 14, 24, 0.96));
  box-shadow: 0 0 18px var(--chip-glow);
}

.kanban-chip.active::before {
  box-shadow: 0 0 14px var(--chip-glow);
}

.kanban-chip[data-quick-filter='needsApproval'] {
  --chip-accent: var(--odei-color-gold-500);
  --chip-glow: rgba(var(--odei-color-gold-rgb), 0.35);
}

.kanban-chip[data-quick-filter='needsOutcome'] {
  --chip-accent: #38bdf8;
  --chip-glow: rgba(56, 189, 248, 0.35);
}

.kanban-chip[data-quick-filter='integrityOnly'] {
  --chip-accent: var(--odei-color-danger-400);
  --chip-glow: rgba(255, 123, 123, 0.35);
}

.kanban-chip[data-quick-filter='realityLinked'] {
  --chip-accent: #34d399;
  --chip-glow: rgba(52, 211, 153, 0.35);
}

.kanban-filter {
  padding: 7px 12px;
  background: rgba(29, 35, 49, 0.6);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.15);
  border-radius: 6px;
  color: var(--ink-med, #b6c0d2);
  font-size: 12px;
  cursor: pointer;
  transition: all 0.15s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237C889A' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  padding-right: 28px;
}

.kanban-filter:focus {
  outline: none;
  border-color: rgba(var(--odei-color-jade-rgb), 0.4);
}

.kanban-filter:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.3);
}

.kanban-stats {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  font-size: 12px;
}

.kanban-stat {
  color: var(--muted, #7c889a);
}

.kanban-stat.stat-active {
  color: var(--odei-color-jade-500);
}

.kanban-stat.stat-done {
  color: #48bb78;
}

.kanban-stat-separator {
  color: rgba(var(--odei-color-jade-rgb), 0.2);
}

/* Board container */

.kanban-board {
  flex: 0 0 auto;
  padding: 16px;
  overflow: visible;
  min-height: calc(100vh - 220px);
}

.kanban-columns {
  display: flex;
  gap: 14px;
  align-items: stretch;
  overflow-x: auto;
  padding-bottom: 16px;
}

/* Custom scrollbar for columns container */

.kanban-columns::-webkit-scrollbar {
  height: 8px;
}

.kanban-columns::-webkit-scrollbar-track {
  background: rgba(11, 14, 20, 0.4);
  border-radius: 4px;
}

.kanban-columns::-webkit-scrollbar-thumb {
  background: rgba(var(--odei-color-jade-rgb), 0.3);
  border-radius: 4px;
}

.kanban-columns::-webkit-scrollbar-thumb:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.5);
}

/* Column */

.kanban-column {
  flex: 1 1 260px;
  min-width: 240px;
  max-width: 320px;
  display: flex;
  flex-direction: column;
  background: rgba(18, 22, 34, 0.6);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.1);
  border-radius: 12px;
  overflow: visible;
  /* Allow content to flow */
}

.kanban-column-header {
  padding: 14px 16px 10px;
  background: linear-gradient(180deg, rgba(29, 35, 49, 0.4) 0%, transparent 100%);
  border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.08);
}

.kanban-column-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.kanban-column-emoji {
  font-size: 16px;
}

.kanban-column-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink-high, #e8ecf4);
  flex: 1;
}

.kanban-column-count {
  font-size: 11px;
  font-weight: 600;
  color: var(--column-color, var(--odei-color-jade-500));
  background: rgba(var(--odei-color-jade-rgb), 0.12);
  padding: 2px 8px;
  border-radius: 10px;
  min-width: 24px;
  text-align: center;
}

.kanban-column-desc {
  font-size: 11px;
  color: var(--muted, #7c889a);
  margin-top: 4px;
}

/* Cards container - natural flow, no individual scroll */

.kanban-cards {
  flex: 0 0 auto;
  overflow: visible;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Empty state - enhanced */

.kanban-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px 16px;
  text-align: center;
  opacity: 0.8;
}

.kanban-empty-icon {
  font-size: 28px;
  margin-bottom: 8px;
  opacity: 0.5;
}

.kanban-empty-text {
  color: var(--muted, #7c889a);
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 4px;
}

.kanban-empty-hint {
  color: var(--muted, #7c889a);
  font-size: 11px;
  opacity: 0.7;
  max-width: 180px;
  line-height: 1.4;
}

/* Card - enhanced */

.kanban-card {
  background: rgba(29, 35, 49, 0.85);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.14);
  border-radius: 12px;
  padding: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  animation: cardFadeIn 0.2s ease;
  min-height: 180px;
}

@keyframes cardFadeIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.kanban-card:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.3);
  background: rgba(29, 35, 49, 0.95);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.kanban-card.selected {
  border-color: var(--odei-color-jade-500);
  background: rgba(var(--odei-color-jade-rgb), 0.12);
  box-shadow:
    0 0 0 1px var(--odei-color-jade-500),
    0 4px 16px rgba(var(--odei-color-jade-rgb), 0.25);
}

.kanban-card.highlighted {
  border-color: rgba(var(--odei-color-jade-rgb), 0.5);
  background: rgba(var(--odei-color-jade-rgb), 0.08);
  box-shadow: 0 0 8px rgba(var(--odei-color-jade-rgb), 0.15);
}

.kanban-card.dimmed {
  opacity: 0.35;
  transform: scale(0.98);
}

.kanban-card.dragging {
  opacity: 0.55;
  border-color: rgba(var(--odei-color-jade-rgb), 0.5);
  box-shadow: var(--shadow-glow);
}

.kanban-card.drop-above,
.kanban-card.drop-below {
  position: relative;
}

.kanban-card.drop-above::before,
.kanban-card.drop-below::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(var(--odei-color-jade-rgb), 0.8), rgba(var(--odei-color-gold-rgb), 0.8));
  box-shadow: 0 0 8px rgba(var(--odei-color-jade-rgb), 0.4);
}

.kanban-card.drop-above::before {
  top: -4px;
}

.kanban-card.drop-below::after {
  bottom: -4px;
}

.kanban-cards.drag-over-empty {
  outline: 1px dashed rgba(var(--odei-color-jade-rgb), 0.45);
  border-radius: 12px;
}

/* Card header */

.kanban-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.kanban-card-type {
  font-size: 10px;
  font-weight: 600;
  color: var(--odei-color-jade-500);
  letter-spacing: 0.5px;
}

.kanban-card-header-right {
  display: flex;
  align-items: center;
  gap: 6px;
}

.kanban-card-connections {
  font-size: 10px;
  color: var(--muted, #7c889a);
}

/* Owner badge */

.kanban-card-owner {
  font-size: 9px;
  padding: 1px 4px;
  border-radius: 3px;
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Phase badges */

.kanban-card-phase {
  font-size: 9px;
  padding: 1px 4px;
  border-radius: 3px;
  text-transform: uppercase;
}

.phase-ideation {
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  color: #5de5d8;
}

.phase-design {
  background: rgba(var(--odei-color-jade-rgb), 0.2);
  color: var(--odei-color-jade-500);
}

.phase-build {
  background: rgba(34, 197, 94, 0.2);
  color: #4ade80;
}

.phase-launch {
  background: rgba(var(--odei-color-gold-rgb), 0.2);
  color: var(--odei-color-gold-500);
}

.phase-scale {
  background: rgba(var(--odei-color-gold-rgb), 0.25);
  color: #f5d07a;
}

/* Impact badges */

.kanban-card-impact {
  font-size: 9px;
  padding: 1px 4px;
  border-radius: 3px;
  text-transform: uppercase;
}

.impact-high {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
}

.impact-medium {
  background: rgba(234, 179, 8, 0.2);
  color: #facc15;
}

.impact-low {
  background: rgba(107, 114, 128, 0.2);
  color: #9ca3af;
}

/* Effort hours */

.kanban-card-effort {
  font-size: 9px;
  padding: 1px 4px;
  border-radius: 3px;
  background: rgba(var(--odei-color-jade-rgb), 0.1);
  color: var(--odei-color-jade-500);
}

/* Priority indicator */

.kanban-card-priority {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.kanban-card-priority.priority-high {
  background: var(--odei-color-danger-400);
  box-shadow: 0 0 6px rgba(255, 123, 123, 0.5);
}

.kanban-card-priority.priority-medium {
  background: var(--odei-color-gold-500);
}

.kanban-card-priority.priority-low {
  background: #7c889a;
}

/* Card content */

.kanban-card-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink-high, #e8ecf4);
  line-height: 1.5;
  margin-bottom: 6px;
}

.kanban-card-summary {
  font-size: 11px;
  color: var(--ink-med, #b6c0d2);
  line-height: 1.6;
  margin-bottom: 10px;
}

.kanban-card-inline-meta {
  font-size: 10px;
  color: var(--muted, #7c889a);
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}

/* Tags and next step */

.kanban-card-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}

.kanban-tag-chip {
  background: rgba(var(--odei-color-jade-rgb), 0.12);
  color: var(--odei-color-jade-500);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  padding: 2px 6px;
  border-radius: 6px;
  font-size: 10px;
}

.kanban-card-next {
  font-size: 11px;
  color: var(--ink-high, #e8ecf4);
  margin-bottom: 6px;
}

.kanban-card-blocked {
  font-size: 11px;
  color: var(--odei-color-danger-400);
  margin-bottom: 6px;
}

/* Disable legacy hover preview */

.kanban-preview {
  display: none !important;
}

/* Card footer */

.kanban-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
}

.kanban-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
}

.kanban-card-due {
  font-size: 10px;
  color: var(--muted, #7c889a);
  display: flex;
  align-items: center;
  gap: 4px;
}

.kanban-card-due.overdue {
  color: var(--odei-color-danger-400);
  font-weight: 500;
}

.kanban-card-due.due-today {
  color: var(--odei-color-gold-500);
  font-weight: 500;
}

.kanban-card-due.due-soon {
  color: var(--odei-color-gold-500);
}

/* Card actions */

.kanban-card-actions {
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: opacity 0.15s ease;
}

.kanban-card:hover .kanban-card-actions {
  opacity: 1;
}

.kanban-card-status-toggle,
.kanban-card-memory,
.kanban-card-edit {
  background: transparent;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  border-radius: 4px;
  padding: 4px 8px;
  cursor: pointer;
  color: var(--muted, #7c889a);
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2px;
}

.kanban-status-select {
  background: rgba(29, 35, 49, 0.6);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  border-radius: 4px;
  color: var(--ink-high, #e8ecf4);
  font-size: 11px;
  padding: 4px 6px;
  cursor: pointer;
}

.kanban-status-select:focus {
  outline: none;
  border-color: rgba(var(--odei-color-jade-rgb), 0.5);
}

.kanban-card-status-toggle:hover,
.kanban-card-memory:hover,
.kanban-card-edit:hover {
  border-color: var(--odei-color-jade-500);
  color: var(--odei-color-jade-500);
  background: rgba(var(--odei-color-jade-rgb), 0.1);
}

/* Status toggle icon colors */

.status-icon.done {
  color: #48bb78;
}

.status-icon.active {
  color: var(--odei-color-jade-500);
}

.status-icon.blocked {
  color: var(--odei-color-danger-400);
}

.status-icon.todo {
  color: var(--muted, #7c889a);
}

/* Status indicators - left border */

.kanban-card.status-done {
  border-left: 3px solid #48bb78;
}

.kanban-card.status-active {
  border-left: 3px solid var(--odei-color-jade-500);
}

.kanban-card.status-blocked {
  border-left: 3px solid var(--odei-color-danger-400);
}

.kanban-card.status-todo {
  border-left: 3px solid rgba(var(--odei-color-jade-rgb), 0.2);
}

/* Preview tooltip */

.kanban-preview {
  position: absolute;
  z-index: 1000;
  width: 280px;
  background: rgba(18, 22, 34, 0.98);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
  border-radius: 8px;
  padding: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  pointer-events: none;
  animation: previewFadeIn 0.15s ease;
}

@keyframes previewFadeIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.kanban-preview.hidden {
  display: none;
}

.kanban-preview-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.kanban-preview-type {
  font-size: 10px;
  font-weight: 600;
  color: var(--odei-color-jade-500);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.kanban-preview-status {
  font-size: 10px;
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  color: var(--odei-color-jade-500);
}

.kanban-preview-status.status-done {
  background: rgba(72, 187, 120, 0.15);
  color: #48bb78;
}

.kanban-preview-status.status-blocked {
  background: rgba(255, 123, 123, 0.15);
  color: var(--odei-color-danger-400);
}

.kanban-preview-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink-high, #e8ecf4);
  line-height: 1.4;
  margin-bottom: 6px;
}

.kanban-preview-summary {
  font-size: 12px;
  color: var(--ink-med, #b6c0d2);
  line-height: 1.5;
  margin-bottom: 8px;
}

.kanban-preview-meta {
  font-size: 11px;
  color: var(--muted, #7c889a);
}

.kanban-preview-meta .overdue {
  color: var(--odei-color-danger-400);
}

/* Hidden utility */

.hidden {
  display: none !important;
}

/* Kanban container in LayerGraphLayout */

.kanban-container {
  height: 100%;
  overflow-y: auto;
}

/* ============================================
   KEYBOARD NAVIGATION STYLES
   ============================================ */

/* Column focus indicator */

.kanban-column.keyboard-focused {
  border-color: rgba(var(--odei-color-jade-rgb), 0.4);
  box-shadow: inset 0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.2);
}

.kanban-column.keyboard-focused .kanban-column-header {
  background: rgba(var(--odei-color-jade-rgb), 0.08);
}

/* Card keyboard selection */

.kanban-card.keyboard-selected {
  border-color: var(--odei-color-jade-500);
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  box-shadow:
    0 0 0 2px rgba(var(--odei-color-jade-rgb), 0.4),
    0 4px 20px rgba(var(--odei-color-jade-rgb), 0.3);
  transform: translateY(-2px);
  transition: all 0.15s var(--transition);
}

.kanban-card.keyboard-selected::before {
  content: '';
  position: absolute;
  left: -2px;
  top: 8px;
  bottom: 8px;
  width: 3px;
  background: linear-gradient(180deg, var(--odei-color-jade-500), #38b2ac);
  border-radius: 2px;
}

/* HUD collapsed state */

.command-context-widgets.collapsed {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  margin: 0;
  padding: 0;
  transition: all 0.2s var(--transition);
}

/* Shortcut hint badges on buttons */

[data-shortcut]::after {
  content: attr(data-shortcut);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  margin-left: 8px;
  background: rgba(29, 35, 49, 0.9);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
  border-radius: 3px;
  font-family: 'SF Mono', 'Monaco', 'Inconsolata', monospace;
  font-size: 10px;
  font-weight: 500;
  color: rgba(232, 236, 244, 0.7);
  text-transform: uppercase;
}

/* Tooltip shortcut hints */

[title*='(']:hover::after {
  /* Style for tooltips that include shortcut info like "(N)" */
}

/* Journey panel in Memory Atlas detail view */

.memory-journey-panel {
  margin: 12px 0 4px;
  padding: 10px 12px;
  border: 1px solid rgba(94, 234, 212, 0.16);
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.45);
}

.memory-journey-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.memory-journey-label {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-med, #b6c0d2);
}

.memory-journey-actions {
  display: flex;
  gap: 6px;
}

.memory-journey-status {
  margin-top: 6px;
  font-size: 12px;
  color: var(--ink-high, #e8ecf4);
}

.memory-journey-bridges {
  margin-top: 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.memory-journey-bridges-title {
  width: 100%;
  font-size: 11px;
  color: var(--ink-med, #b6c0d2);
}

.memory-journey-bridge-btn {
  padding: 4px 8px;
}

/* Journey Progress Bar */

.memory-journey-progress {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.memory-journey-progress-bar {
  flex: 1;
  height: 4px;
  background: rgba(124, 136, 154, 0.2);
  border-radius: 2px;
  overflow: hidden;
}

.memory-journey-progress-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, var(--odei-color-jade-500) 0%, #6feee5 100%);
  border-radius: 2px;
  transition: width 0.3s ease-out;
}

.memory-journey-progress-text {
  font-size: 11px;
  font-weight: 600;
  color: var(--odei-color-jade-500);
  min-width: 36px;
  text-align: right;
}

/* Next Action Highlight */

.memory-journey-next-action {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  background: rgba(var(--odei-color-jade-rgb), 0.08);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  border-radius: 8px;
}

.next-action-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--odei-color-jade-500);
}

.next-action-btn {
  flex: 1;
  text-align: left;
  font-size: 12px;
  color: var(--ink-high, #e8ecf4);
  padding: 2px 6px !important;
  background: transparent !important;
  border: none !important;
}

.next-action-btn:hover {
  color: #6feee5;
  text-decoration: underline;
}

/* LOD Picker */

.memory-journey-lod {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.lod-label {
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-med, #b6c0d2);
}

.lod-buttons {
  display: flex;
  gap: 2px;
  background: rgba(15, 23, 42, 0.6);
  border-radius: 6px;
  padding: 2px;
}

.lod-btn {
  width: 24px;
  height: 22px;
  font-size: 10px;
  font-weight: 600;
  color: var(--ink-med, #b6c0d2);
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.lod-btn:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  color: var(--ink-high, #e8ecf4);
}

.lod-btn.active {
  background: rgba(var(--odei-color-jade-rgb), 0.25);
  color: var(--odei-color-jade-500);
  box-shadow: 0 0 6px rgba(var(--odei-color-jade-rgb), 0.3);
}

/* ========================================
   Settings View
   ======================================== */

#settings-view {
  position: absolute;
  inset: 0;
  z-index: 1200;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background-color: var(--bg-02, #0b0e14);
  background:
    radial-gradient(circle at 12% 18%, rgba(var(--odei-color-jade-rgb), 0.12), transparent 46%),
    radial-gradient(circle at 84% 10%, rgba(var(--odei-color-gold-rgb), 0.1), transparent 52%),
    linear-gradient(160deg, rgba(6, 10, 20, 1), rgba(7, 12, 24, 1));
  isolation: isolate;
}

#settings-view::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 8% 0%, rgba(var(--odei-color-gold-rgb), 0.1), transparent 42%),
    radial-gradient(circle at 92% 12%, rgba(var(--odei-color-jade-rgb), 0.12), transparent 48%);
  opacity: 0.6;
}

#settings-view.hidden {
  display: none;
}

.settings-view {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 24px clamp(18px, 2.2vw, 30px) 24px;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  font-family: var(--font-body);
  flex: 1;
  min-height: 0;
}

.settings-header {
  margin-bottom: 32px;
}

.settings-title {
  font-family: inherit;
  font-size: var(--type-h1, 28px);
  font-weight: 600;
  color: var(--ink-high, #e8ecf4);
  margin: 0 0 8px 0;
}

.settings-subtitle {
  font-size: 14px;
  color: var(--ink-med, #b6c0d2);
  margin: 0;
  max-width: 720px;
}

.settings-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px;
  border-radius: 18px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.22);
  background: linear-gradient(150deg, rgba(11, 16, 30, 0.94), rgba(9, 14, 28, 0.92));
  box-shadow:
    var(--shadow-lg),
    0 0 0 1px rgba(var(--odei-color-gold-rgb), 0.05);
  position: relative;
  overflow: hidden;
}

.settings-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--odei-color-gold-rgb), 0.16), transparent 42%),
    radial-gradient(circle at 90% 12%, rgba(var(--odei-color-jade-rgb), 0.14), transparent 48%);
  opacity: 0.85;
}

.settings-hero > * {
  position: relative;
  z-index: 1;
}

.settings-hero-main {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  flex: 1;
  min-width: 0;
}

.settings-hero-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-high, #e8ecf4);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.32);
  background: radial-gradient(circle at 30% 30%, rgba(var(--odei-color-jade-rgb), 0.42), rgba(8, 14, 26, 0.92));
  box-shadow:
    0 16px 28px rgba(0, 0, 0, 0.45),
    0 0 22px rgba(var(--odei-color-jade-rgb), 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.settings-hero-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.settings-hero-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

.settings-pill {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 150px;
  padding: 8px 12px;
  border-radius: 12px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.24);
  background: rgba(10, 16, 30, 0.72);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.03),
    0 12px 24px rgba(0, 0, 0, 0.28);
}

.settings-pill-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--ink-med, #b6c0d2);
}

.settings-pill-value {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-high, #e8ecf4);
}

.settings-pill[data-connected='true'] {
  border-color: rgba(var(--odei-color-jade-rgb), 0.55);
  background: rgba(var(--odei-color-jade-rgb), 0.14);
}

.settings-pill[data-connected='true'] .settings-pill-value {
  color: var(--accent-primary, var(--odei-color-jade-500));
}

.settings-pill[data-connected='false'] {
  border-color: rgba(255, 123, 123, 0.45);
  background: rgba(255, 123, 123, 0.12);
}

.settings-pill[data-connected='false'] .settings-pill-value {
  color: var(--accent-danger, var(--odei-color-danger-400));
}

.settings-pill[data-configured='true'] {
  border-color: rgba(var(--odei-color-jade-rgb), 0.55);
  background: rgba(var(--odei-color-jade-rgb), 0.14);
}

.settings-pill[data-configured='partial'] {
  border-color: rgba(var(--odei-color-gold-rgb), 0.5);
  background: rgba(var(--odei-color-gold-rgb), 0.12);
}

.settings-pill[data-configured='false'] {
  border-color: rgba(124, 136, 154, 0.4);
  background: rgba(124, 136, 154, 0.1);
}

.settings-pill[data-configured='true'] .settings-pill-value {
  color: var(--accent-primary, var(--odei-color-jade-500));
}

.settings-pill[data-configured='partial'] .settings-pill-value {
  color: var(--accent-secondary, var(--odei-color-gold-500));
}

.settings-pill[data-configured='false'] .settings-pill-value {
  color: var(--ink-med, #b6c0d2);
}

.settings-hero-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.settings-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 2px;
}

.settings-metric-card {
  position: relative;
  overflow: hidden;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.18);
  background: rgba(10, 16, 30, 0.76);
  box-shadow: var(--shadow-md);
}

.settings-metric-card::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 68%);
}

.settings-metric-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-med, #b6c0d2);
  margin-bottom: 4px;
}

.settings-metric-value {
  position: relative;
  z-index: 1;
  font-size: 16px;
  font-weight: 700;
  color: var(--ink-high, #e8ecf4);
}

.settings-metric-value[data-connected='true'] {
  color: var(--accent-primary, var(--odei-color-jade-500));
}

.settings-metric-value[data-connected='false'] {
  color: var(--accent-danger, var(--odei-color-danger-400));
}

.settings-metric-value[data-configured='true'] {
  color: var(--accent-primary, var(--odei-color-jade-500));
}

.settings-metric-value[data-configured='partial'] {
  color: var(--accent-secondary, var(--odei-color-gold-500));
}

.settings-metric-value[data-configured='false'] {
  color: var(--ink-med, #b6c0d2);
}

.settings-layout {
  display: flex;
  gap: 22px;
  align-items: stretch;
  flex: 1;
  min-height: 0;
}

/* Settings Tabs Navigation */

.settings-tabs {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 230px;
  flex-shrink: 0;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.18);
  background: rgba(9, 14, 26, 0.78);
  box-shadow: var(--shadow-md);
  position: relative;
  top: 0;
  align-self: stretch;
  max-height: 100%;
  overflow-y: auto;
}

.settings-tab {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: rgba(10, 16, 30, 0.28);
  color: var(--ink-high, #e8ecf4);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: left;
  position: relative;
  overflow: hidden;
}

.settings-tab:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.42);
  background: rgba(var(--odei-color-jade-rgb), 0.12);
  transform: translateY(-1px);
  box-shadow: 0 14px 24px rgba(0, 0, 0, 0.32);
}

.settings-tab.active {
  border-color: rgba(var(--odei-color-jade-rgb), 0.6);
  background: linear-gradient(135deg, rgba(var(--odei-color-jade-rgb), 0.18), rgba(var(--odei-color-gold-rgb), 0.18));
  color: var(--accent-primary, var(--odei-color-jade-500));
  box-shadow:
    0 16px 28px rgba(0, 0, 0, 0.38),
    0 0 18px rgba(var(--odei-color-jade-rgb), 0.18);
}

.settings-tab-meta {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.settings-tab-label {
  flex: 1;
}

.settings-tab-desc {
  font-size: 11px;
  color: var(--ink-med, #b6c0d2);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.settings-tab-badge {
  min-width: 54px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.24);
  background: rgba(10, 16, 30, 0.7);
  color: var(--ink-med, #b6c0d2);
  opacity: 0;
  transform: translateX(6px);
  transition: all 0.2s ease;
}

.settings-tab-badge.has-value {
  opacity: 1;
  transform: translateX(0);
}

.settings-tab-badge[data-variant='success'] {
  border-color: rgba(var(--odei-color-jade-rgb), 0.55);
  background: rgba(var(--odei-color-jade-rgb), 0.16);
  color: var(--accent-primary, var(--odei-color-jade-500));
}

.settings-tab-badge[data-variant='info'] {
  border-color: rgba(var(--odei-color-jade-rgb), 0.45);
  background: rgba(var(--odei-color-jade-rgb), 0.14);
  color: var(--accent-primary, var(--odei-color-jade-500));
}

.settings-tab-badge[data-variant='danger'] {
  border-color: rgba(255, 123, 123, 0.55);
  background: rgba(255, 123, 123, 0.14);
  color: var(--accent-danger, var(--odei-color-danger-400));
}

.settings-tab-badge[data-variant='muted'] {
  border-color: rgba(124, 136, 154, 0.4);
  background: rgba(124, 136, 154, 0.12);
  color: var(--ink-med, #b6c0d2);
}

.settings-tab-badge[data-variant='neutral'] {
  border-color: rgba(var(--odei-color-gold-rgb), 0.45);
  background: rgba(var(--odei-color-gold-rgb), 0.14);
  color: var(--accent-secondary, var(--odei-color-gold-500));
}

/* Settings Content Panels */

.settings-content {
  flex: 1;
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  padding-right: 6px;
}

.settings-panel {
  display: none;
}

.settings-panel.active {
  display: block;
}

/* Settings Sections */

.settings-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(160deg, rgba(11, 16, 30, 0.92), rgba(9, 14, 28, 0.94));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.18);
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 16px;
  box-shadow: var(--shadow-md);
}

.settings-section::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 72%);
  opacity: 0.8;
}

.settings-section:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.42);
  transform: translateY(-1px);
  box-shadow: var(--shadow-lg);
}

.settings-section > * {
  position: relative;
  z-index: 1;
}

.settings-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 4px;
}

.settings-section-tag {
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.4);
  background: rgba(var(--odei-color-jade-rgb), 0.12);
  color: var(--accent-primary, var(--odei-color-jade-500));
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.settings-section-title {
  font-family: inherit;
  font-size: var(--type-h3, 16px);
  font-weight: 600;
  color: var(--ink-high, #e8ecf4);
  margin: 0 0 8px 0;
}

.settings-section-header .settings-section-title {
  margin: 0;
}

.settings-section-desc {
  font-size: 13px;
  color: var(--ink-med, #b6c0d2);
  margin: 0 0 16px 0;
  max-width: 72ch;
}

.settings-subsection-title {
  font-size: 12px;
  font-weight: 600;
  color: var(--ink-med, #b6c0d2);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 20px 0 10px 0;
}

.settings-subsection-title:first-of-type {
  margin-top: 0;
}

/* Settings Info Grid */

.settings-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.settings-info-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.12);
  background: rgba(10, 16, 30, 0.55);
  min-height: 66px;
}

.settings-info-item.wide {
  grid-column: 1 / -1;
}

.settings-info-label {
  font-size: 11px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-med, #b6c0d2);
}

.settings-info-value {
  font-size: 14px;
  color: var(--ink-high, #e8ecf4);
  font-weight: 600;
}

.settings-info-subtle {
  font-size: 11px;
  color: var(--ink-med, #b6c0d2);
}

.settings-info-value.mono {
  font-family: inherit;
  font-size: 12px;
  word-break: break-all;
}

/* Settings Form Elements */

.settings-form-group {
  margin-bottom: 18px;
}

.settings-form-group:last-child {
  margin-bottom: 0;
}

.settings-field-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}

.settings-field-header .settings-label {
  margin-bottom: 0;
}

.settings-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-high, #e8ecf4);
  margin-bottom: 8px;
}

.settings-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(124, 136, 154, 0.45);
  background: rgba(124, 136, 154, 0.12);
  color: var(--ink-med, #b6c0d2);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
}

.settings-chip[data-configured='true'] {
  border-color: rgba(var(--odei-color-jade-rgb), 0.55);
  background: rgba(var(--odei-color-jade-rgb), 0.16);
  color: var(--accent-primary, var(--odei-color-jade-500));
}

.settings-chip[data-configured='false'] {
  border-color: rgba(124, 136, 154, 0.45);
  background: rgba(124, 136, 154, 0.12);
  color: var(--ink-med, #b6c0d2);
}

.settings-chip--active {
  border-color: rgba(var(--odei-color-jade-rgb), 0.55);
  background: rgba(var(--odei-color-jade-rgb), 0.16);
  color: var(--accent-primary, var(--odei-color-jade-500));
}

.settings-chip--jade {
  border-color: rgba(var(--odei-color-jade-rgb), 0.55);
  background: rgba(var(--odei-color-jade-rgb), 0.16);
  color: var(--accent-primary, var(--odei-color-jade-500));
}

/* ===== APPEARANCE SEGMENTED CONTROL ===== */

.settings-segmented-control {
  display: flex;
  gap: 0;
  border-radius: 10px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.32);
  background: rgba(6, 10, 20, 0.86);
  overflow: hidden;
  width: -moz-fit-content;
  width: fit-content;
}

.settings-segment {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: none;
  border-right: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  background: transparent;
  color: var(--ink-med, #b6c0d2);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition:
    background 0.18s ease,
    color 0.18s ease;
}

.settings-segment:last-child {
  border-right: none;
}

.settings-segment:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.08);
  color: var(--ink-high, #e8ecf4);
}

.settings-segment.active {
  background: rgba(var(--odei-color-jade-rgb), 0.2);
  color: var(--accent-primary, var(--odei-color-jade-500));
  font-weight: 600;
}

.settings-segment:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(var(--odei-color-jade-rgb), 0.4);
}

/* ===== APPEARANCE DENSITY CLASSES ===== */

body.density-compact {
  --density-gap-sm: 4px;
  --density-gap-md: 8px;
  --density-gap-lg: 12px;
  --density-padding-sm: 6px;
  --density-padding-md: 10px;
  --density-padding-lg: 16px;
}

body.density-standard {
  --density-gap-sm: 8px;
  --density-gap-md: 12px;
  --density-gap-lg: 20px;
  --density-padding-sm: 8px;
  --density-padding-md: 14px;
  --density-padding-lg: 24px;
}

body.density-spacious {
  --density-gap-sm: 12px;
  --density-gap-md: 18px;
  --density-gap-lg: 28px;
  --density-padding-sm: 12px;
  --density-padding-md: 20px;
  --density-padding-lg: 32px;
}

/* ===== APPEARANCE FONT SIZE CLASSES ===== */

body.font-small {
  --font-scale: 0.85;
  font-size: 13.6px;
  /* 16 * 0.85 */
}

body.font-normal {
  --font-scale: 1;
  font-size: 16px;
}

body.font-large {
  --font-scale: 1.15;
  font-size: 18.4px;
  /* 16 * 1.15 */
}

/* ===== APPEARANCE REDUCE MOTION ===== */

body.reduce-motion,
body.reduce-motion * {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
}

.settings-info-link {
  color: var(--accent-primary, var(--odei-color-jade-500));
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition:
    color 0.18s ease,
    -webkit-text-decoration 0.18s ease;
  transition:
    color 0.18s ease,
    text-decoration 0.18s ease;
  transition:
    color 0.18s ease,
    text-decoration 0.18s ease,
    -webkit-text-decoration 0.18s ease;
}

.settings-info-link:hover {
  color: #6ee7dc;
  text-decoration: underline;
}

.settings-input {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.32);
  border-radius: 10px;
  background: rgba(6, 10, 20, 0.86);
  color: var(--ink-high, #e8ecf4);
  font-size: 14px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 10px 18px rgba(0, 0, 0, 0.32);
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.settings-input:focus {
  outline: none;
  border-color: var(--accent-primary, var(--odei-color-jade-500));
  box-shadow:
    0 0 0 3px rgba(var(--odei-color-jade-rgb), 0.18),
    0 16px 26px rgba(0, 0, 0, 0.38);
  transform: translateY(-1px);
}

.settings-input::-moz-placeholder {
  color: var(--pale-gray, #7c889a);
}

.settings-input::placeholder {
  color: var(--pale-gray, #7c889a);
}

.settings-input-row {
  display: flex;
  gap: 8px;
  align-items: stretch;
}

.settings-input-row .settings-input {
  flex: 1;
  min-width: 0;
}

.settings-provider-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}

.settings-provider-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.16);
  background: rgba(8, 14, 26, 0.7);
  transition:
    border-color 0.18s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease;
}

.settings-provider-card:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.42);
  transform: translateY(-1px);
}

.settings-provider-card.dirty {
  border-color: rgba(var(--odei-color-gold-rgb), 0.6);
  box-shadow: 0 0 0 1px rgba(var(--odei-color-gold-rgb), 0.2);
}

.settings-provider-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.settings-provider-name-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.settings-provider-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink-high, #e8ecf4);
}

.settings-provider-current {
  font-size: 11px;
  color: var(--ink-med, #b6c0d2);
  white-space: nowrap;
}

.settings-provider-desc {
  font-size: 12px;
  color: var(--pale-gray, #7c889a);
}

.settings-provider-row {
  align-items: center;
}

/* Base select styling for all Settings dropdowns */

.settings-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--bg-03, #0a0a0a);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234FD1C5' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  border-radius: 8px;
  color: var(--ink-high, #e8ecf4);
  font-size: 14px;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.settings-select:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.4);
}

.settings-select:focus {
  outline: none;
  border-color: var(--odei-color-jade-500);
  box-shadow: 0 0 0 3px rgba(var(--odei-color-jade-rgb), 0.15);
}

.settings-select.settings-provider-select {
  min-width: 160px;
}

/* Provider Apply button base styling */

.settings-provider-apply {
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 6px;
  background: linear-gradient(135deg, rgba(var(--odei-color-jade-rgb), 0.15), rgba(var(--odei-color-jade-rgb), 0.08));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
  color: var(--odei-color-jade-500);
  cursor: pointer;
  transition: all 0.2s ease;
}

.settings-provider-apply:hover:not(:disabled) {
  background: linear-gradient(135deg, rgba(var(--odei-color-jade-rgb), 0.25), rgba(var(--odei-color-jade-rgb), 0.15));
  border-color: rgba(var(--odei-color-jade-rgb), 0.5);
  box-shadow: 0 2px 8px rgba(var(--odei-color-jade-rgb), 0.2);
}

.settings-provider-apply:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.settings-input-time {
  width: auto;
  min-width: 100px;
  padding: 9px 12px;
}

.settings-time-range {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.settings-time-separator {
  color: var(--ink-med, #b6c0d2);
  font-size: 13px;
}

.settings-hint {
  font-size: 12px;
  color: var(--pale-gray, #7c889a);
  margin: 8px 0 0 0;
  line-height: 1.45;
}

/* Settings Checkbox/Toggle */

.settings-toggle-row {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.settings-checkbox {
  width: 18px;
  height: 18px;
  accent-color: var(--accent-primary, var(--odei-color-jade-500));
  cursor: pointer;
}

.settings-toggle-label {
  font-size: 14px;
  color: var(--ink-high, #e8ecf4);
}

/* Settings Buttons */

.settings-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
  row-gap: 8px;
}

.settings-actions-note {
  font-size: 12px;
  color: var(--ink-med, #b6c0d2);
  opacity: 0.9;
}

.settings-btn {
  padding: 10px 20px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  background: rgba(10, 16, 30, 0.78);
  color: var(--ink-high, #e8ecf4);
  box-shadow: 0 14px 24px rgba(0, 0, 0, 0.34);
  cursor: pointer;
  transition: all 0.2s ease;
}

.settings-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.settings-btn-primary {
  background: linear-gradient(
    135deg,
    var(--accent-primary, var(--odei-color-jade-500)) 0%,
    var(--accent-secondary, var(--odei-color-gold-500)) 100%
  );
  color: var(--bg-01, #05060a);
  border-color: rgba(var(--odei-color-jade-rgb), 0.7);
  box-shadow:
    0 18px 30px rgba(0, 0, 0, 0.4),
    0 0 22px rgba(var(--odei-color-jade-rgb), 0.25);
}

.settings-btn-primary:hover:not(:disabled) {
  filter: brightness(1.1);
  transform: translateY(-1px);
}

.settings-btn-secondary {
  background: rgba(var(--odei-color-jade-rgb), 0.14);
  color: var(--accent-primary, var(--odei-color-jade-500));
  border-color: rgba(var(--odei-color-jade-rgb), 0.45);
}

.settings-btn-secondary:hover:not(:disabled) {
  background: rgba(var(--odei-color-jade-rgb), 0.22);
  border-color: rgba(var(--odei-color-jade-rgb), 0.7);
  transform: translateY(-1px);
}

.settings-btn-danger {
  background: rgba(255, 123, 123, 0.16);
  color: var(--accent-danger, var(--odei-color-danger-400));
  border-color: rgba(255, 123, 123, 0.5);
}

.settings-btn-danger:hover:not(:disabled) {
  background: rgba(255, 123, 123, 0.24);
  border-color: rgba(255, 123, 123, 0.72);
  transform: translateY(-1px);
}

.settings-btn-icon {
  padding: 0 12px;
  min-width: 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  background: rgba(10, 16, 30, 0.82);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.36);
  color: var(--accent-primary, var(--odei-color-jade-500));
  font-size: 12px;
  letter-spacing: 0.02em;
}

.settings-btn-icon:hover {
  border-color: var(--accent-primary, var(--odei-color-jade-500));
  background: rgba(var(--odei-color-jade-rgb), 0.16);
  transform: translateY(-1px);
}

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

.settings-callout {
  border-color: rgba(var(--odei-color-gold-rgb), 0.45);
  background: linear-gradient(150deg, rgba(28, 22, 8, 0.46), rgba(11, 16, 30, 0.94));
}

.settings-callout-list {
  list-style: none;
  padding: 0;
  margin: 12px 0 0 0;
  display: grid;
  gap: 8px;
}

.settings-callout-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(var(--odei-color-gold-rgb), 0.35);
  background: rgba(var(--odei-color-gold-rgb), 0.1);
  font-size: 12px;
  color: var(--ink-high, #e8ecf4);
}

.settings-callout-list li::before {
  content: '●';
  color: var(--accent-secondary, var(--odei-color-gold-500));
  font-size: 8px;
}

/* Integration Cards */

.settings-integration-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
}

.settings-integration-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.18);
  border-radius: 14px;
  background: rgba(10, 16, 30, 0.72);
  box-shadow: var(--shadow-md);
  position: relative;
  overflow: hidden;
  transition: all 0.22s ease;
  justify-content: space-between;
}

.settings-integration-card::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 70%);
}

.settings-integration-card:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.44);
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

.settings-integration-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.settings-integration-name {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink-high, #e8ecf4);
}

.settings-integration-desc {
  font-size: 12px;
  color: var(--ink-med, #b6c0d2);
}

.settings-runtime-summary-card {
  border-color: rgba(var(--odei-color-gold-rgb), 0.24);
  background:
    radial-gradient(circle at top right, rgba(var(--odei-color-gold-rgb), 0.12), transparent 46%),
    rgba(10, 16, 30, 0.78);
}

.settings-runtime-summary-text {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink-high, #e8ecf4);
  letter-spacing: 0.02em;
}

.settings-runtime-summary-time {
  margin-top: 6px;
  font-size: 11px;
  color: var(--ink-med, #b6c0d2);
}

.settings-integration-status {
  display: inline-flex;
  align-items: center;
  margin-top: 2px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border: 1px solid rgba(124, 136, 154, 0.4);
  background: rgba(124, 136, 154, 0.12);
  color: var(--ink-med, #b6c0d2);
}

.settings-integration-status.connected {
  border-color: rgba(var(--odei-color-jade-rgb), 0.55);
  background: rgba(var(--odei-color-jade-rgb), 0.16);
  color: var(--accent-primary, var(--odei-color-jade-500));
}

.settings-integration-status.disconnected {
  border-color: rgba(124, 136, 154, 0.42);
  background: rgba(124, 136, 154, 0.12);
  color: var(--pale-gray, #7c889a);
}

.settings-integration-status.pending {
  border-color: rgba(var(--odei-color-gold-rgb), 0.45);
  background: rgba(var(--odei-color-gold-rgb), 0.12);
  color: var(--accent-secondary, var(--odei-color-gold-500));
}

.settings-integration-status.local {
  border-color: rgba(var(--odei-color-jade-rgb), 0.4);
  background: rgba(var(--odei-color-jade-rgb), 0.12);
  color: var(--ink-high, #e8ecf4);
}

.settings-integration-detail {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.35;
  color: color-mix(in srgb, var(--ink-med, #b6c0d2) 92%, white 8%);
}

.settings-mcp-timeline {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.settings-mcp-timeline-controls {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.settings-mcp-filter-label {
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-med, #b6c0d2);
}

.settings-mcp-filter-select {
  width: auto;
  min-width: 120px;
}

.settings-mcp-filter-server {
  width: auto;
  min-width: 150px;
}

.settings-mcp-timeline-summary {
  margin-top: 8px;
  font-size: 11px;
  color: var(--ink-med, #b6c0d2);
  opacity: 0.9;
}

.settings-mcp-sla-summary,
.settings-mcp-sla-health,
.settings-mcp-sla-last-error {
  margin-top: 6px;
  font-size: 11px;
  color: var(--ink-med, #b6c0d2);
  opacity: 0.92;
}

.settings-mcp-sla-health {
  color: color-mix(in srgb, var(--ink-med, #b6c0d2) 88%, white 12%);
}

.settings-mcp-sla-last-error {
  color: color-mix(in srgb, var(--ink-med, #b6c0d2) 82%, var(--odei-color-danger-400) 18%);
}

.settings-mcp-sla-summary[data-variant='success'],
.settings-mcp-sla-health[data-variant='success'],
.settings-mcp-sla-last-error[data-variant='success'] {
  color: color-mix(in srgb, var(--ink-med, #b6c0d2) 65%, var(--odei-color-jade-500) 35%);
}

.settings-mcp-sla-summary[data-variant='warning'],
.settings-mcp-sla-health[data-variant='warning'],
.settings-mcp-sla-last-error[data-variant='warning'] {
  color: color-mix(in srgb, var(--ink-med, #b6c0d2) 65%, var(--odei-color-gold-500) 35%);
}

.settings-mcp-sla-summary[data-variant='danger'],
.settings-mcp-sla-health[data-variant='danger'],
.settings-mcp-sla-last-error[data-variant='danger'] {
  color: color-mix(in srgb, var(--ink-med, #b6c0d2) 65%, var(--odei-color-danger-400) 35%);
}

.settings-mcp-method-sla {
  margin-top: 6px;
  display: grid;
  gap: 4px;
}

.settings-mcp-method-sla-row,
.settings-mcp-method-sla-empty {
  font-size: 11px;
  line-height: 1.35;
  color: var(--ink-med, #b6c0d2);
  opacity: 0.92;
}

.settings-mcp-method-sla-row[data-variant='success'] {
  color: color-mix(in srgb, var(--ink-med, #b6c0d2) 65%, var(--odei-color-jade-500) 35%);
}

.settings-mcp-method-sla-row[data-variant='warning'] {
  color: color-mix(in srgb, var(--ink-med, #b6c0d2) 65%, var(--odei-color-gold-500) 35%);
}

.settings-mcp-method-sla-row[data-variant='danger'] {
  color: color-mix(in srgb, var(--ink-med, #b6c0d2) 65%, var(--odei-color-danger-400) 35%);
}

.settings-mcp-method-sla-row[data-variant='muted'],
.settings-mcp-method-sla-empty[data-variant='muted'] {
  color: color-mix(in srgb, var(--ink-med, #b6c0d2) 86%, white 14%);
}

.settings-mcp-timeline-empty {
  font-size: 12px;
  color: var(--pale-gray, #7c889a);
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px dashed rgba(var(--odei-color-jade-rgb), 0.22);
  background: rgba(10, 16, 30, 0.5);
}

.settings-mcp-timeline-item {
  font-size: 11px;
  line-height: 1.4;
  color: var(--ink-med, #b6c0d2);
  padding: 7px 9px;
  border-radius: 10px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  background: rgba(10, 16, 30, 0.62);
}

.settings-mcp-timeline-item.is-ok {
  border-color: rgba(var(--odei-color-jade-rgb), 0.32);
}

.settings-mcp-timeline-item.is-pending {
  border-color: rgba(var(--odei-color-gold-rgb), 0.32);
  color: color-mix(in srgb, var(--ink-med, #b6c0d2) 80%, var(--odei-color-gold-500) 20%);
}

.settings-mcp-timeline-item.is-error,
.settings-mcp-timeline-item.is-disabled,
.settings-mcp-timeline-item.is-unavailable {
  border-color: rgba(255, 123, 123, 0.4);
  color: color-mix(in srgb, var(--ink-med, #b6c0d2) 80%, var(--odei-color-danger-400) 20%);
}

.settings-integration-type {
  margin-left: auto;
  align-self: flex-start;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(124, 136, 154, 0.4);
  background: rgba(10, 16, 30, 0.7);
  color: var(--ink-med, #b6c0d2);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.settings-integration-actions {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

.settings-integration-actions .settings-btn {
  padding: 5px 10px;
  font-size: 11px;
}

/* Database Status */

.settings-db-status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.28);
  background: rgba(10, 16, 30, 0.68);
  box-shadow: var(--shadow-md);
}

.settings-db-indicator {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 1px solid rgba(5, 8, 16, 0.6);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}

.settings-db-indicator.connected {
  background: var(--accent-primary, var(--odei-color-jade-500));
  box-shadow:
    0 0 0 3px rgba(var(--odei-color-jade-rgb), 0.18),
    0 0 12px rgba(var(--odei-color-jade-rgb), 0.5);
  animation: settingsPulse 2.6s ease-in-out infinite;
}

.settings-db-indicator.disconnected {
  background: var(--accent-danger, var(--odei-color-danger-400));
  border-color: rgba(255, 123, 123, 0.5);
  box-shadow:
    0 0 0 3px rgba(255, 123, 123, 0.16),
    0 0 10px rgba(255, 123, 123, 0.45);
}

.settings-db-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-med, #b6c0d2);
}

@keyframes settingsPulse {
  0% {
    transform: scale(0.9);
    opacity: 0.8;
  }

  50% {
    transform: scale(1);
    opacity: 1;
  }

  100% {
    transform: scale(0.92);
    opacity: 0.85;
  }
}

/* Layer Protection List */

.settings-layer-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.settings-layer-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.16);
  border-radius: 12px;
  background: rgba(10, 16, 30, 0.7);
  box-shadow: var(--shadow-md);
  position: relative;
  overflow: hidden;
  transition: all 0.22s ease;
}

.settings-layer-item::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 72%);
}

.settings-layer-item:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.42);
  transform: translateY(-1px);
  box-shadow: var(--shadow-lg);
}

.settings-layer-item > * {
  position: relative;
  z-index: 1;
}

.settings-layer-name {
  flex: 1;
  font-size: 14px;
  color: var(--ink-high, #e8ecf4);
}

.settings-layer-badge {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid transparent;
}

.settings-layer-badge.manual {
  background: rgba(255, 123, 123, 0.16);
  color: var(--accent-danger, var(--odei-color-danger-400));
  border-color: rgba(255, 123, 123, 0.5);
}

.settings-layer-badge.approval {
  background: rgba(var(--odei-color-gold-rgb), 0.16);
  color: var(--accent-secondary, var(--odei-color-gold-500));
  border-color: rgba(var(--odei-color-gold-rgb), 0.5);
}

.settings-layer-badge.auto {
  background: rgba(var(--odei-color-jade-rgb), 0.16);
  color: var(--accent-primary, var(--odei-color-jade-500));
  border-color: rgba(var(--odei-color-jade-rgb), 0.55);
}

/* Guardian Audit Log */

.settings-audit-item {
  flex-wrap: nowrap;
  gap: 12px;
}

.settings-audit-content {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  flex: 1;
  min-width: 0;
}

.settings-audit-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}

.settings-audit-icon--blocked {
  background: rgba(255, 123, 123, 0.16);
  color: var(--accent-danger, var(--odei-color-danger-400));
  border: 1px solid rgba(255, 123, 123, 0.4);
}

.settings-audit-icon--delayed {
  background: rgba(var(--odei-color-gold-rgb), 0.16);
  color: var(--accent-secondary, var(--odei-color-gold-500));
  border: 1px solid rgba(var(--odei-color-gold-rgb), 0.4);
}

.settings-audit-icon--approved {
  background: rgba(var(--odei-color-jade-rgb), 0.16);
  color: var(--accent-primary, var(--odei-color-jade-500));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.4);
}

.settings-audit-details {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1;
}

.settings-audit-header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.settings-audit-type {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-high, #e8ecf4);
}

.settings-audit-time {
  font-size: 11px;
  color: var(--muted, #7c889a);
}

.settings-audit-desc {
  font-size: 12px;
  color: var(--ink-med, #b6c0d2);
  line-height: 1.4;
}

.settings-audit-empty {
  padding: 24px 16px;
  text-align: center;
}

.settings-audit-empty-text {
  font-size: 13px;
  color: var(--muted, #7c889a);
}

.settings-audit-footer {
  margin-top: 12px;
  text-align: center;
}

.settings-link-btn {
  background: none;
  border: none;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 500;
  color: var(--accent-primary, var(--odei-color-jade-500));
  cursor: pointer;
  transition:
    color 0.15s ease,
    opacity 0.15s ease;
}

.settings-link-btn:hover {
  color: var(--accent-secondary, var(--odei-color-gold-500));
  opacity: 0.9;
}

.settings-link-btn:focus {
  outline: none;
  text-decoration: underline;
}

/* Settings Toasts */

.settings-toast-stack {
  position: fixed;
  right: 26px;
  bottom: 26px;
  z-index: 80;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 340px;
  pointer-events: none;
}

.settings-toast {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.32);
  background: rgba(10, 16, 30, 0.92);
  color: var(--ink-high, #e8ecf4);
  box-shadow: var(--shadow-lg);
  min-height: 46px;
  transition:
    opacity 0.18s ease,
    transform 0.18s ease;
}

.settings-toast.is-hiding {
  opacity: 0;
  transform: translateY(8px);
}

.settings-toast__message {
  flex: 1;
  font-size: 13px;
  line-height: 1.45;
}

.settings-toast__close {
  width: 28px;
  height: 28px;
  border-radius: 9px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--ink-med, #b6c0d2);
  font-size: 14px;
  cursor: pointer;
  opacity: 0.85;
}

.settings-toast__close:hover {
  color: var(--ink-high, #e8ecf4);
  border-color: rgba(var(--odei-color-jade-rgb), 0.42);
  background: rgba(var(--odei-color-jade-rgb), 0.16);
  opacity: 1;
}

.settings-toast--success {
  border-color: rgba(var(--odei-color-jade-rgb), 0.6);
  background: rgba(var(--odei-color-jade-rgb), 0.18);
}

.settings-toast--error {
  border-color: rgba(255, 123, 123, 0.6);
  background: rgba(255, 123, 123, 0.18);
}

.settings-toast--warning {
  border-color: rgba(var(--odei-color-gold-rgb), 0.62);
  background: rgba(var(--odei-color-gold-rgb), 0.2);
  color: var(--bg-01, #05060a);
}

.settings-toast--warning .settings-toast__close {
  color: rgba(5, 6, 10, 0.7);
}

.settings-toast--warning .settings-toast__close:hover {
  color: var(--bg-01, #05060a);
  border-color: rgba(5, 6, 10, 0.22);
  background: rgba(5, 6, 10, 0.1);
}

.settings-toast--info {
  border-color: rgba(var(--odei-color-jade-rgb), 0.5);
  background: rgba(var(--odei-color-jade-rgb), 0.16);
}

/* Settings Responsive */

@media (max-width: 1180px) {
  .settings-view {
    padding: 22px 20px;
  }

  .settings-tabs {
    min-width: 214px;
  }
}

@media (max-width: 980px) {
  .settings-hero {
    flex-direction: column;
    align-items: flex-start;
  }

  .settings-hero-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .settings-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-layout {
    flex-direction: column;
    gap: 16px;
  }

  .settings-tabs {
    position: relative;
    top: 0;
    flex-direction: row;
    width: 100%;
    overflow-x: auto;
    padding: 8px;
    max-height: none;
  }

  .settings-tab {
    flex: 0 0 auto;
    min-width: 186px;
  }

  .settings-tab-desc {
    white-space: normal;
  }
}

@media (max-width: 680px) {
  .settings-view {
    padding: 20px 14px;
    gap: 14px;
  }

  .settings-metrics {
    grid-template-columns: 1fr;
  }

  .settings-pill {
    min-width: 132px;
  }

  .settings-tab {
    min-width: 168px;
    padding: 10px 11px;
  }

  .settings-toast-stack {
    right: 16px;
    bottom: 16px;
    max-width: calc(100vw - 32px);
  }
}

/* ========================================
   TACTICAL MILITARY CSS SYSTEM
   ======================================== */

/* Status indicator dots */

.status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.status-dot--critical {
  background: var(--defcon-critical);
  box-shadow: 0 0 8px var(--defcon-critical-glow);
  animation: pulse-critical 1s ease-in-out infinite;
}

.status-dot--warning {
  background: var(--defcon-warning);
  box-shadow: 0 0 6px var(--defcon-warning-glow);
}

.status-dot--normal {
  background: var(--defcon-normal);
  box-shadow: 0 0 4px var(--defcon-normal-glow);
}

.status-dot--standby {
  background: var(--defcon-standby);
}

/* Tactical grid background */

.tactical-grid-bg {
  background-image:
    linear-gradient(var(--tactical-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--tactical-grid) 1px, transparent 1px);
  background-size: 50px 50px;
}

/* Military text styling */

.text-tactical {
  font-family: var(--font-tactical);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.text-data {
  font-family: var(--font-data);
}

/* Tactical Animations */

@keyframes pulse-critical {
  0%,
  100% {
    transform: scale(1);
    opacity: 1;
  }

  50% {
    transform: scale(1.2);
    opacity: 0.7;
  }
}

@keyframes data-flow {
  to {
    stroke-dashoffset: -15;
  }
}

@keyframes radar-sweep {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/* ========================================
   MISSION BRIEFING PANEL
   Journey Mode tactical overlay
   ======================================== */

.mission-briefing {
  position: absolute;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
  width: min(420px, calc(100% - 48px));
  max-height: calc(100vh - 120px);
  overflow-y: auto;
  padding: 20px 24px;
  background: var(--tactical-panel, #0b0e14);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
  border-radius: 12px;
  box-shadow:
    0 0 30px rgba(0, 0, 0, 0.6),
    0 0 60px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 0 20px rgba(var(--odei-color-jade-rgb), 0.15);
  z-index: 100;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.mission-briefing::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 12px;
  background: linear-gradient(
    135deg,
    rgba(var(--odei-color-jade-rgb), 0.06) 0%,
    transparent 50%,
    rgba(var(--odei-color-gold-rgb), 0.04) 100%
  );
  pointer-events: none;
}

.mission-briefing.hidden {
  display: none;
}

.mission-briefing.minimized {
  height: auto;
  padding: 12px 24px;
}

.mission-briefing.minimized .mission-section,
.mission-briefing.minimized .mission-actions {
  display: none;
}

/* Mission Header */

.mission-header {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
}

.mission-header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.mission-classification {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  font-family: var(--font-tactical, 'Eurostile', 'DIN', 'Inter', sans-serif);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(135deg, var(--defcon-critical, #ff3838), #ff5555);
  border-radius: 4px;
  box-shadow: 0 0 12px var(--defcon-critical-glow, rgba(255, 56, 56, 0.4));
  animation: classification-pulse 2s ease-in-out infinite;
}

@keyframes classification-pulse {
  0%,
  100% {
    opacity: 1;
    box-shadow: 0 0 12px var(--defcon-critical-glow, rgba(255, 56, 56, 0.4));
  }

  50% {
    opacity: 0.85;
    box-shadow: 0 0 20px var(--defcon-critical-glow, rgba(255, 56, 56, 0.6));
  }
}

.mission-classification--warning {
  background: linear-gradient(135deg, var(--defcon-warning, #ffb302), #ffcc33);
  box-shadow: 0 0 12px var(--defcon-warning-glow, rgba(255, 179, 2, 0.35));
  animation: none;
}

.mission-classification--normal {
  background: linear-gradient(135deg, var(--defcon-normal, #56f000), #7fff00);
  box-shadow: 0 0 12px var(--defcon-normal-glow, rgba(86, 240, 0, 0.25));
  animation: none;
  color: #000;
}

.mission-minimize-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  background: rgba(var(--odei-color-jade-rgb), 0.1);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.25);
  border-radius: 6px;
  color: var(--ink-med, #b6c0d2);
  cursor: pointer;
  transition: all 0.2s ease;
}

.mission-minimize-btn:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.2);
  border-color: rgba(var(--odei-color-jade-rgb), 0.4);
  color: var(--ink-high, #e8ecf4);
}

.mission-codename {
  font-family: var(--font-tactical, 'Eurostile', 'DIN', 'Inter', sans-serif);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-high, #e8ecf4);
  margin: 0;
}

.mission-codename span {
  color: var(--odei-color-jade-500);
  text-shadow: 0 0 10px rgba(var(--odei-color-jade-rgb), 0.5);
}

/* Mission Sections */

.mission-section {
  margin-bottom: 18px;
}

.mission-section h3 {
  font-family: var(--font-tactical, 'Eurostile', 'DIN', 'Inter', sans-serif);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--odei-color-jade-500);
  margin: 0 0 8px 0;
  padding-left: 12px;
  border-left: 2px solid var(--odei-color-jade-500);
}

.mission-section p {
  font-size: 13px;
  line-height: 1.6;
  color: var(--ink-med, #b6c0d2);
  margin: 0;
}

/* Objectives List */

.objectives-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.objectives-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  background: rgba(5, 6, 10, 0.5);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.12);
  border-radius: 8px;
  font-size: 13px;
  color: var(--ink-med, #b6c0d2);
  transition: all 0.2s ease;
}

.objectives-list li:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.25);
  background: rgba(var(--odei-color-jade-rgb), 0.05);
}

.objectives-list li::before {
  content: '';
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  border: 2px solid rgba(var(--odei-color-jade-rgb), 0.5);
  border-radius: 4px;
  background: transparent;
  transition: all 0.2s ease;
}

.objectives-list li.completed::before {
  background: var(--defcon-normal, #56f000);
  border-color: var(--defcon-normal, #56f000);
  box-shadow: 0 0 8px var(--defcon-normal-glow, rgba(86, 240, 0, 0.25));
}

.objectives-list li.completed {
  color: var(--ink-high, #e8ecf4);
  border-color: rgba(86, 240, 0, 0.2);
}

.objectives-list li.in-progress::before {
  background: var(--defcon-warning, #ffb302);
  border-color: var(--defcon-warning, #ffb302);
  animation: objective-pulse 1.5s ease-in-out infinite;
}

@keyframes objective-pulse {
  0%,
  100% {
    box-shadow: 0 0 4px var(--defcon-warning-glow, rgba(255, 179, 2, 0.35));
  }

  50% {
    box-shadow: 0 0 12px var(--defcon-warning-glow, rgba(255, 179, 2, 0.5));
  }
}

/* Objective layer badge */

.obj-layer {
  margin-left: auto;
  font-size: 10px;
  font-family: var(--font-data, 'IBM Plex Mono', monospace);
  color: var(--muted, #7c889a);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 2px 6px;
  background: rgba(var(--odei-color-jade-rgb), 0.08);
  border-radius: 4px;
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.15);
}

/* Route Visualization */

.route-visualization {
  padding: 12px;
  background: rgba(5, 6, 10, 0.6);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.15);
  border-radius: 8px;
  min-height: 80px;
}

.route-visualization svg {
  width: 100%;
  height: auto;
  display: block;
}

/* Route waypoint nodes */

.route-waypoint {
  fill: var(--tactical-panel, #0b0e14);
  stroke: var(--odei-color-jade-500);
  stroke-width: 2;
}

.route-waypoint.origin {
  fill: var(--odei-color-jade-500);
}

.route-waypoint.destination {
  fill: var(--odei-color-gold-500);
}

.route-waypoint-label {
  font-family: var(--font-tactical, 'Eurostile', 'DIN', 'Inter', sans-serif);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  fill: var(--ink-high, #e8ecf4);
  text-anchor: middle;
}

.route-path-line {
  fill: none;
  stroke: url(#route-gradient);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 8 4;
  filter: url(#route-glow);
  animation: route-flow 1s linear infinite;
}

@keyframes route-flow {
  to {
    stroke-dashoffset: -12;
  }
}

.route-intermediate {
  fill: rgba(var(--odei-color-jade-rgb), 0.3);
  stroke: rgba(var(--odei-color-jade-rgb), 0.6);
  stroke-width: 1.5;
}

/* Mission Actions */

.mission-actions {
  display: flex;
  gap: 12px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(var(--odei-color-jade-rgb), 0.15);
}

.mission-actions button {
  flex: 1;
  font-family: var(--font-tactical, 'Eurostile', 'DIN', 'Inter', sans-serif);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Responsive adjustments */

@media (max-width: 600px) {
  .mission-briefing {
    top: 12px;
    width: calc(100% - 24px);
    padding: 16px 18px;
  }

  .mission-codename {
    font-size: 15px;
  }

  .mission-actions {
    flex-direction: column;
  }

  .mission-actions button {
    width: 100%;
  }
}

/* ========================================
   TACTICAL HUD COMPONENTS
   Command Center Military UI Elements
   ======================================== */

/* === Readiness Indicator === */

.readiness-indicator {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  background: var(--tactical-panel);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.25);
  border-radius: 8px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 4px 12px rgba(0, 0, 0, 0.3);
}

.readiness-label {
  font-family: var(--font-tactical);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.readiness-value {
  font-family: var(--font-data);
  font-size: 16px;
  font-weight: 700;
  color: var(--defcon-normal);
  text-shadow: 0 0 8px var(--defcon-normal-glow);
  letter-spacing: 0.05em;
}

.readiness-value[data-level='C-1'] {
  color: var(--defcon-normal);
  text-shadow: 0 0 8px var(--defcon-normal-glow);
}

.readiness-value[data-level='C-2'] {
  color: var(--defcon-standby);
  text-shadow: 0 0 8px var(--defcon-standby-glow);
}

.readiness-value[data-level='C-3'] {
  color: var(--defcon-caution);
  text-shadow: 0 0 8px var(--defcon-caution-glow);
}

.readiness-value[data-level='C-4'] {
  color: var(--defcon-warning);
  text-shadow: 0 0 8px var(--defcon-warning-glow);
}

.readiness-value[data-level='C-5'] {
  color: var(--defcon-critical);
  text-shadow: 0 0 8px var(--defcon-critical-glow);
  animation: pulse-critical var(--alert-duration) ease-in-out infinite;
}

/* === SITREP Panel === */

.sitrep-panel {
  margin-top: auto;
  padding: var(--memory-panel-padding);
  background: var(--tactical-panel);
  border-top: 1px solid rgba(var(--odei-color-jade-rgb), 0.15);
  border-radius: 0;
}

.sitrep-title {
  font-family: var(--font-tactical);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent-primary);
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
}

.sitrep-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.sitrep-row:last-of-type {
  border-bottom: none;
}

.sitrep-label {
  font-family: var(--font-tactical);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.sitrep-value {
  font-family: var(--font-data);
  font-size: 14px;
  font-weight: 700;
  min-width: 28px;
  text-align: right;
}

.sitrep-value.status-dot--normal {
  color: var(--defcon-normal);
  text-shadow: 0 0 6px var(--defcon-normal-glow);
}

.sitrep-value.status-dot--critical {
  color: var(--defcon-critical);
  text-shadow: 0 0 6px var(--defcon-critical-glow);
}

.sitrep-value.status-dot--warning {
  color: var(--defcon-warning);
  text-shadow: 0 0 6px var(--defcon-warning-glow);
}

.sitrep-timestamp {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid rgba(var(--odei-color-jade-rgb), 0.12);
}

.sitrep-time {
  font-family: var(--font-data);
  font-size: 12px;
  color: var(--text-secondary);
  letter-spacing: 0.08em;
}

/* === Activity Feed Panel === */

.activity-feed-panel {
  padding: var(--memory-panel-padding);
  background: var(--tactical-elevated);
  border-top: 1px solid rgba(var(--odei-color-jade-rgb), 0.1);
  max-height: 200px;
  overflow-y: auto;
}

.activity-feed-title {
  font-family: var(--font-tactical);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent-primary);
  margin-bottom: 10px;
  opacity: 0.9;
}

.activity-feed-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.activity-feed-empty {
  font-family: var(--font-data);
  font-size: 11px;
  color: var(--text-muted);
  text-align: center;
  padding: 12px 0;
  opacity: 0.7;
}

/* Activity Feed Item - Military Style */

.activity-item {
  display: grid;
  grid-template-columns: 44px 16px 1fr;
  gap: 8px;
  align-items: center;
  padding: 6px 8px;
  background: rgba(5, 6, 10, 0.6);
  border-radius: 4px;
  border-left: 2px solid transparent;
  transition: all 0.15s ease;
}

.activity-item:hover {
  background: rgba(var(--odei-color-jade-rgb), 0.08);
  border-left-color: var(--accent-primary);
}

.activity-timestamp {
  font-family: var(--font-data);
  font-size: 10px;
  font-weight: 600;
  color: var(--text-muted);
  letter-spacing: 0.05em;
}

.activity-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  font-size: 10px;
}

.activity-icon.type-task {
  color: var(--defcon-standby);
}

.activity-icon.type-insight {
  color: var(--accent-secondary);
}

.activity-icon.type-decision {
  color: var(--defcon-normal);
}

.activity-icon.type-alert {
  color: var(--defcon-warning);
}

.activity-icon.type-error {
  color: var(--defcon-critical);
}

.activity-icon.type-complete {
  color: var(--defcon-normal);
}

.activity-message {
  font-family: var(--font-body);
  font-size: 11px;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Status Badge */

.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 6px;
  border-radius: 3px;
  font-family: var(--font-tactical);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.status-badge--active {
  background: rgba(86, 240, 0, 0.15);
  color: var(--defcon-normal);
  border: 1px solid rgba(86, 240, 0, 0.3);
}

.status-badge--blocked {
  background: rgba(255, 56, 56, 0.15);
  color: var(--defcon-critical);
  border: 1px solid rgba(255, 56, 56, 0.3);
}

.status-badge--pending {
  background: rgba(45, 204, 255, 0.15);
  color: var(--defcon-standby);
  border: 1px solid rgba(45, 204, 255, 0.3);
}

.status-badge--complete {
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  color: var(--accent-primary);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
}

/* === Tactical Panel Base === */

.tactical-panel {
  background: var(--tactical-panel);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  border-radius: 8px;
  padding: 16px;
  position: relative;
}

.tactical-panel::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--accent-primary) 20%, var(--accent-primary) 80%, transparent);
  opacity: 0.6;
  border-radius: 8px 8px 0 0;
}

.tactical-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.15);
}

.tactical-panel-title {
  font-family: var(--font-tactical);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--accent-primary);
}

/* === Data Display Elements === */

.data-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 4px 0;
}

.data-label {
  font-family: var(--font-tactical);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.data-value {
  font-family: var(--font-data);
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.data-value--large {
  font-size: 18px;
  font-weight: 700;
}

.data-value--mono {
  font-family: var(--font-data);
  letter-spacing: 0.05em;
}

/* === Scan Line Effect === */

.scan-line-effect {
  position: relative;
  overflow: hidden;
}

.scan-line-effect::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(var(--odei-color-jade-rgb), 0.4), transparent);
  animation: scan-line 3s linear infinite;
  pointer-events: none;
}

@keyframes scan-line {
  0% {
    top: 0;
    opacity: 1;
  }

  50% {
    opacity: 0.5;
  }

  100% {
    top: 100%;
    opacity: 0;
  }
}

/* === Corner Brackets (Military Frame) === */

.corner-bracket {
  position: relative;
}

.corner-bracket::before,
.corner-bracket::after {
  content: '';
  position: absolute;
  width: 12px;
  height: 12px;
  border-color: var(--accent-primary);
  border-style: solid;
  opacity: 0.5;
}

.corner-bracket::before {
  top: 0;
  left: 0;
  border-width: 2px 0 0 2px;
}

.corner-bracket::after {
  bottom: 0;
  right: 0;
  border-width: 0 2px 2px 0;
}

/* === Markdown Typography for Terminal === */

.markdown-content {
  font-family: var(--font-body);
  color: var(--text-primary);
  line-height: 1.6;
}

.markdown-header-1 {
  font-family: var(--font-display);
  font-size: 1.4em;
  font-weight: 700;
  color: var(--accent-primary);
  margin-top: 1.2em;
  margin-bottom: 0.6em;
  padding-bottom: 0.3em;
  border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
}

.markdown-header-2 {
  font-family: var(--font-display);
  font-size: 1.2em;
  font-weight: 600;
  color: var(--text-primary);
  margin-top: 1em;
  margin-bottom: 0.5em;
}

.markdown-header-3 {
  font-size: 1.1em;
  font-weight: 600;
  color: var(--text-secondary);
  margin-top: 0.8em;
  margin-bottom: 0.4em;
}

.markdown-code-inline {
  font-family: var(--font-data);
  background: rgba(0, 0, 0, 0.3);
  color: var(--accent-secondary);
  padding: 0.2em 0.4em;
  border-radius: 4px;
  font-size: 0.9em;
  border: 1px solid rgba(var(--odei-color-gold-rgb), 0.15);
}

.markdown-code-block {
  font-family: var(--font-data);
  background: #0d1117;
  /* GitHub Dark Dimmed bg */
  color: #c9d1d9;
  padding: 1em;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  margin: 0.8em 0;
  overflow-x: auto;
  white-space: pre;
  font-size: 0.9em;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3);
}

.markdown-list-ul {
  padding-left: 1.5em;
  margin: 0.5em 0;
}

.markdown-list-item {
  position: relative;
  margin-bottom: 0.3em;
}

.markdown-list-item::marker {
  color: var(--accent-primary);
}

.markdown-strong {
  font-weight: 700;
  color: var(--text-primary);
}

.markdown-em {
  font-style: italic;
  color: var(--text-secondary);
}

.markdown-link {
  color: var(--accent-primary);
  text-decoration: none;
  border-bottom: 1px dashed var(--accent-primary-strong);
  transition: all 0.2s;
}

.markdown-link:hover {
  color: var(--accent-secondary);
  border-bottom-color: var(--accent-secondary);
}

.markdown-blockquote {
  border-left: 3px solid var(--accent-primary);
  background: rgba(var(--odei-color-jade-rgb), 0.05);
  padding: 0.5em 1em;
  margin: 0.8em 0;
  color: var(--text-secondary);
  font-style: italic;
}

/* ========================================
   Onboarding Wizard — Premium Dark Theme
   ======================================== */

.onboarding-wizard {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: var(--memory-padding);
}

.onboarding-card {
  background: linear-gradient(145deg, rgba(11, 14, 20, 0.94), rgba(18, 22, 34, 0.92));
  border: 1px solid var(--glass-border);
  border-radius: var(--memory-card-radius);
  box-shadow:
    var(--shadow-md),
    0 0 40px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  position: relative;
}

.onboarding-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 10% 0%, rgba(var(--odei-color-jade-rgb), 0.12), transparent 40%),
    radial-gradient(circle at 90% 10%, rgba(var(--odei-color-gold-rgb), 0.08), transparent 45%);
  pointer-events: none;
}

.onboarding-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px 20px;
  border-bottom: 1px solid var(--glass-border);
  position: relative;
}

.onboarding-header::after {
  content: '';
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(var(--odei-color-jade-rgb), 0.4),
    rgba(var(--odei-color-gold-rgb), 0.3),
    transparent
  );
}

.onboarding-title {
  font-family: var(--font-display);
  font-size: var(--type-h2);
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.01em;
  margin: 0 0 4px 0;
}

.onboarding-subtitle {
  font-size: 13px;
  color: var(--text-secondary);
  margin: 0;
}

.onboarding-status {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--accent-primary);
  background: rgba(var(--odei-color-jade-rgb), 0.12);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.25);
  border-radius: 6px;
  padding: 6px 12px;
  white-space: nowrap;
}

/* === Messages === */

.onboarding-message {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 16px 28px;
  padding: 14px 18px;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.5;
}

.onboarding-message.info {
  background: rgba(var(--odei-color-jade-rgb), 0.08);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
  color: var(--text-secondary);
}

.onboarding-message.error {
  background: rgba(255, 123, 123, 0.1);
  border: 1px solid rgba(255, 123, 123, 0.3);
  color: var(--accent-danger);
}

.onboarding-message.success {
  background: rgba(52, 211, 153, 0.1);
  border: 1px solid rgba(52, 211, 153, 0.3);
  color: #34d399;
}

.onboarding-message.warning {
  background: rgba(var(--odei-color-gold-rgb), 0.1);
  border: 1px solid rgba(var(--odei-color-gold-rgb), 0.3);
  color: var(--accent-secondary);
}

/* === Consent Banner === */

.onboarding-consent-banner {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  margin: 0 20px 16px;
  border-radius: 10px;
  background: rgba(var(--odei-color-jade-rgb), 0.05);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.2);
}

.onboarding-consent-banner.active {
  background: rgba(52, 211, 153, 0.08);
  border-color: rgba(52, 211, 153, 0.3);
}

.onboarding-consent-banner.pending {
  background: rgba(var(--odei-color-gold-rgb), 0.08);
  border-color: rgba(var(--odei-color-gold-rgb), 0.3);
}

.onboarding-consent-icon {
  font-size: 24px;
  flex-shrink: 0;
}

.onboarding-consent-text {
  flex: 1;
  min-width: 0;
}

.onboarding-consent-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 2px;
}

.onboarding-consent-desc {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.4;
}

.onboarding-button.small {
  padding: 6px 14px;
  font-size: 12px;
  flex-shrink: 0;
}

/* === Loading State === */

.onboarding-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 40px 28px;
  color: var(--text-muted);
  font-size: 14px;
}

.onboarding-spinner {
  width: 20px;
  height: 20px;
  border: 2px solid rgba(var(--odei-color-jade-rgb), 0.2);
  border-top-color: var(--accent-primary);
  border-radius: 50%;
  animation: onboarding-spin 0.8s linear infinite;
}

@keyframes onboarding-spin {
  to {
    transform: rotate(360deg);
  }
}

/* === Phases Container === */

.onboarding-phases {
  padding: 20px 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* === Phase Section === */

.onboarding-phase {
  background: rgba(5, 6, 10, 0.5);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.15);
  border-radius: 12px;
  overflow: hidden;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.onboarding-phase:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.25);
}

.onboarding-phase.warning {
  border-color: rgba(var(--odei-color-gold-rgb), 0.3);
  box-shadow: 0 0 20px rgba(var(--odei-color-gold-rgb), 0.08);
}

.onboarding-phase-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background: rgba(11, 14, 20, 0.6);
  border-bottom: 1px solid rgba(var(--odei-color-jade-rgb), 0.1);
}

.onboarding-phase-title {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 2px 0;
}

.onboarding-phase-meta {
  font-size: 12px;
  color: var(--text-muted);
}

.onboarding-phase-actions {
  display: flex;
  gap: 10px;
}

.onboarding-warning {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: rgba(var(--odei-color-gold-rgb), 0.08);
  border-bottom: 1px solid rgba(var(--odei-color-gold-rgb), 0.15);
  font-size: 12px;
  color: var(--accent-secondary);
}

.onboarding-warning::before {
  content: '⚠';
  font-size: 14px;
}

.onboarding-empty {
  padding: 24px 20px;
  text-align: center;
  color: var(--text-muted);
  font-size: 13px;
  font-style: italic;
}

/* === Proposals === */

.onboarding-proposals {
  padding: 12px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.onboarding-proposal {
  background: rgba(11, 14, 20, 0.7);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.12);
  border-radius: 10px;
  padding: 14px 16px;
  transition:
    border-color 0.2s ease,
    transform 0.2s ease;
}

.onboarding-proposal:hover {
  border-color: rgba(var(--odei-color-jade-rgb), 0.25);
  transform: translateY(-1px);
}

.onboarding-proposal-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 8px;
}

.onboarding-proposal-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}

.onboarding-proposal-desc {
  font-size: 12px;
  color: var(--text-secondary);
  margin: 4px 0 0 0;
  line-height: 1.4;
}

.onboarding-proposal-status {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 4px;
  background: rgba(var(--odei-color-jade-rgb), 0.15);
  color: var(--accent-primary);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.25);
  white-space: nowrap;
}

.onboarding-proposal-status.warning {
  background: rgba(var(--odei-color-gold-rgb), 0.15);
  color: var(--accent-secondary);
  border-color: rgba(var(--odei-color-gold-rgb), 0.3);
}

.onboarding-proposal-meta {
  font-size: 11px;
  color: var(--text-muted);
  margin-bottom: 10px;
}

.onboarding-op-list {
  margin: 0;
  padding: 0 0 0 18px;
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.6;
}

.onboarding-op-list li {
  margin-bottom: 4px;
}

.onboarding-op-list li::marker {
  color: var(--accent-primary);
}

/* === Footer === */

.onboarding-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  padding: 20px 28px;
  border-top: 1px solid var(--glass-border);
  background: rgba(5, 6, 10, 0.4);
}

/* === Buttons === */

.onboarding-button {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  padding: 10px 20px;
  border-radius: 8px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  outline: none;
}

.onboarding-button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.onboarding-button.primary,
.onboarding-button[data-apply-bundle] {
  background: linear-gradient(135deg, rgba(var(--odei-color-jade-rgb), 0.42), rgba(var(--odei-color-gold-rgb), 0.32));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.45);
  color: #fff;
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.35),
    0 0 16px rgba(var(--odei-color-jade-rgb), 0.2);
}

.onboarding-button.primary:hover:not(:disabled),
.onboarding-button[data-apply-bundle]:hover:not(:disabled) {
  background: linear-gradient(135deg, rgba(var(--odei-color-jade-rgb), 0.55), rgba(var(--odei-color-gold-rgb), 0.42));
  border-color: rgba(var(--odei-color-jade-rgb), 0.6);
  transform: translateY(-1px);
  box-shadow:
    0 14px 32px rgba(0, 0, 0, 0.4),
    0 0 24px rgba(var(--odei-color-jade-rgb), 0.3);
}

.onboarding-button.secondary,
.onboarding-button[data-back-to-commander] {
  background: linear-gradient(145deg, rgba(var(--odei-color-jade-rgb), 0.12), rgba(var(--odei-color-jade-rgb), 0.06));
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.3);
  color: var(--accent-primary);
}

.onboarding-button.secondary:hover:not(:disabled),
.onboarding-button[data-back-to-commander]:hover:not(:disabled) {
  background: linear-gradient(145deg, rgba(var(--odei-color-jade-rgb), 0.2), rgba(var(--odei-color-jade-rgb), 0.1));
  border-color: rgba(var(--odei-color-jade-rgb), 0.45);
  transform: translateY(-1px);
}

.onboarding-button[data-apply-phase] {
  font-size: 12px;
  padding: 8px 14px;
  background: rgba(var(--odei-color-jade-rgb), 0.1);
  border: 1px solid rgba(var(--odei-color-jade-rgb), 0.25);
  color: var(--accent-primary);
}

.onboarding-button[data-apply-phase]:hover:not(:disabled) {
  background: rgba(var(--odei-color-jade-rgb), 0.18);
  border-color: rgba(var(--odei-color-jade-rgb), 0.4);
}

/* === Utility === */

.onboarding-link {
  background: none;
  border: none;
  color: var(--accent-primary);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  padding: 0;
  margin-left: 8px;
  text-decoration: underline;
  text-decoration-color: rgba(var(--odei-color-jade-rgb), 0.4);
  transition: color 0.2s ease;
}

.onboarding-link:hover {
  color: var(--accent-secondary);
  text-decoration-color: var(--accent-secondary);
}

.onboarding-wizard .mono {
  font-family: var(--font-data);
  font-size: 11px;
  background: rgba(0, 0, 0, 0.3);
  padding: 2px 6px;
  border-radius: 4px;
  color: var(--accent-secondary);
}

/* === Minimal UI pass: reduce "spaceship" chrome === */

#companion-terminal-section,
#recent-conversations-section,
#health-dashboard-section {
  background: rgba(8, 12, 18, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.36);
}

#companion-terminal-section > .relative,
#recent-conversations-section > .relative {
  background: rgba(10, 14, 20, 0.92) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

#companion-terminal {
  background: rgba(7, 10, 16, 0.95) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: none;
}

#recent-conversations-list {
  background: rgba(8, 12, 18, 0.94) !important;
}

#companion-terminal-section > .relative select,
#companion-terminal-section > .relative button,
#recent-conversations-section > .relative button {
  background: rgba(14, 18, 26, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: none !important;
}

#companion-terminal-section > .relative button:hover,
#recent-conversations-section > .relative button:hover {
  transform: none !important;
  background: rgba(18, 22, 30, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  box-shadow: none !important;
}

#toggle-companion-btn,
#toggle-conversations-btn {
  background: rgba(14, 18, 26, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: none !important;
}

#recent-conversations-section .recent-header,
.health-dashboard-header {
  background: rgba(10, 14, 20, 0.95);
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

#recent-conversations-section .recent-header::before,
.health-dashboard-header::before {
  opacity: 0;
}

.rc-header-icon,
.health-header-icon {
  background: rgba(12, 16, 22, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: none;
}

#health-header-refresh-btn,
#toggle-health-dashboard-btn,
#show-conversations-btn,
#show-health-dashboard-btn {
  background: rgba(14, 18, 26, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: none !important;
}

#health-header-refresh-btn:hover,
#toggle-health-dashboard-btn:hover,
#show-conversations-btn:hover,
#show-health-dashboard-btn:hover {
  background: rgba(18, 22, 30, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

.rc-session-hud {
  background: rgba(10, 14, 20, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: none;
}

.rc-session-hud::after {
  opacity: 0;
}

.rc-hud-block {
  background: rgba(12, 16, 22, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: none;
}

.rc-hud-agent-pill,
.rc-hud-status-pill,
.rc-hud-thread-btn,
.rc-hud-btn,
.rc-hud-chip {
  background: rgba(12, 16, 22, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: none;
}

.rc-hud-status-pill.running {
  background: rgba(16, 185, 129, 0.12);
  border-color: rgba(16, 185, 129, 0.4);
  color: rgba(196, 255, 233, 0.95);
  box-shadow: none;
}

.rc-hud-thread-btn:hover:not(:disabled),
.rc-hud-thread-btn:focus-visible:not(:disabled),
.rc-hud-btn:hover:not(:disabled),
.rc-hud-btn:focus-visible:not(:disabled),
.rc-hud-chip:hover:not(:disabled),
.rc-hud-chip:focus-visible:not(:disabled) {
  transform: none;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.24);
}

#recent-conversations-list .conversation-row {
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(12, 16, 22, 0.92);
  box-shadow: none;
}

#recent-conversations-list .conversation-row::before,
#recent-conversations-list .conversation-row::after {
  opacity: 0;
}

#recent-conversations-list .conversation-row:hover,
#recent-conversations-list .conversation-row.is-active,
#recent-conversations-list .conversation-row.is-active-section,
#recent-conversations-list .conversation-row.is-pinned {
  transform: none;
  background: rgba(14, 18, 26, 0.95);
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: none;
}

.rc-agent-icon {
  background: rgba(12, 16, 22, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.rc-agent-icon-glow {
  opacity: 0;
}

.rc-agent-icon-inner {
  background: rgba(10, 14, 20, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: none;
}

.rc-badge,
.rc-timestamp,
.rc-preview-toggle {
  background: rgba(12, 16, 22, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: none;
}

.rc-pin-badge {
  background: rgba(var(--odei-color-gold-rgb), 0.14);
  border-color: rgba(var(--odei-color-gold-rgb), 0.4);
  box-shadow: none;
}

.rc-action-btn,
.rc-pin-btn {
  background: rgba(12, 16, 22, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: none !important;
}

.rc-action-btn::before,
.rc-pin-btn::before {
  opacity: 0;
}

/* === Recent Conversations card polish === */

#recent-conversations-list .conversation-row {
  grid-template-columns: 36px minmax(0, 1fr) max-content;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(12, 16, 22, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: none;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}

#recent-conversations-list .conversation-row::before {
  left: 10px;
  top: 10px;
  bottom: 10px;
  width: 2px;
  opacity: 0;
  background: linear-gradient(180deg, var(--rc-accent, rgba(var(--odei-color-jade-rgb), 0.6)), transparent 85%);
}

#recent-conversations-list .conversation-row:hover,
#recent-conversations-list .conversation-row:focus-within {
  background: rgba(14, 18, 26, 0.96);
  border-color: rgba(255, 255, 255, 0.16);
}

#recent-conversations-list .conversation-row.is-active,
#recent-conversations-list .conversation-row.is-active-section {
  background: rgba(14, 18, 26, 0.98);
  border-color: rgba(255, 255, 255, 0.2);
}

#recent-conversations-list .conversation-row.is-active::before,
#recent-conversations-list .conversation-row.is-active-section::before,
#recent-conversations-list .conversation-row:hover::before {
  opacity: 0.6;
}

#recent-conversations-list .conversation-row.is-pinned {
  border-color: rgba(var(--odei-color-gold-rgb), 0.35);
  background: rgba(16, 20, 28, 0.96);
}

.rc-agent-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(12, 16, 22, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.rc-agent-icon-inner {
  border-radius: 10px;
  background: rgba(10, 14, 20, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 16px;
}

.rc-agent-name {
  font-size: 11px;
  letter-spacing: 0.08em;
  color: rgba(226, 232, 240, 0.9);
}

.rc-badge {
  font-size: 9.5px;
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(12, 16, 22, 0.85);
  color: rgba(203, 213, 225, 0.92);
}

.rc-preview-text {
  font-size: 12.5px;
  color: rgba(226, 232, 240, 0.92);
}

.rc-timestamp {
  font-size: 10px;
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(12, 16, 22, 0.85);
}

.rc-action-stack {
  --rc-action-size: 30px;
  --rc-action-radius: 9px;
  opacity: 0;
  transform: translateY(2px);
  pointer-events: none;
  transition:
    opacity 0.15s ease,
    transform 0.15s ease;
}

#recent-conversations-list .conversation-row:hover .rc-action-stack,
#recent-conversations-list .conversation-row:focus-within .rc-action-stack {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.rc-action-btn,
.rc-pin-btn {
  border-radius: var(--rc-action-radius) !important;
  background: rgba(12, 16, 22, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.rc-action-btn:hover,
.rc-pin-btn:hover {
  border-color: rgba(255, 255, 255, 0.24) !important;
}

/* Ensure copy icon stays visible */

.copy-conversation-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  color: rgba(226, 232, 240, 0.95) !important;
}

.copy-conversation-btn .copy-icon {
  opacity: 1 !important;
}

.copy-conversation-btn .copy-check-icon {
  opacity: 0 !important;
}

.copy-conversation-btn.copied .copy-icon {
  opacity: 0 !important;
}

.copy-conversation-btn.copied .copy-check-icon {
  opacity: 1 !important;
}

/* === Card refinement: cleaner, lighter === */

.rc-section-header,
.rc-group-header {
  margin: 18px 8px 8px;
  padding: 0 2px 8px;
  border: none;
  background: transparent;
  box-shadow: none;
  font-size: 10.5px;
  letter-spacing: 0.12em;
  color: rgba(148, 163, 184, 0.9);
}

.rc-section-header {
  position: relative;
}

.rc-section-header::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.06);
}

.rc-section-header-active,
.rc-section-header-pinned {
  background: transparent;
  border: none;
  box-shadow: none;
  color: rgba(226, 232, 240, 0.92);
}

.rc-section-marker {
  width: 6px;
  height: 6px;
  box-shadow: none;
}

.rc-section-meta {
  border: none;
  background: transparent;
  padding: 0;
  font-size: 10px;
  letter-spacing: 0.1em;
  color: rgba(148, 163, 184, 0.85);
}

#recent-conversations-list {
  padding: 12px 12px 16px !important;
  gap: 8px !important;
}

#recent-conversations-list .conversation-row {
  grid-template-columns: 32px minmax(0, 1fr) max-content;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(13, 17, 23, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.07);
}

#recent-conversations-list .conversation-row:hover,
#recent-conversations-list .conversation-row:focus-within {
  background: rgba(15, 20, 27, 0.96);
  border-color: rgba(255, 255, 255, 0.14);
}

.rc-agent-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
}

.rc-agent-icon-inner {
  border-radius: 8px;
  font-size: 15px;
}

.rc-agent-name {
  font-size: 10.5px;
  letter-spacing: 0.1em;
}

.rc-badge {
  padding: 2px 6px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: transparent;
  font-size: 9px;
}

.rc-preview-text {
  font-size: 12px;
  opacity: 0.92;
}

.rc-timestamp {
  border: none;
  background: transparent;
  padding: 0;
  font-size: 10px;
  color: rgba(148, 163, 184, 0.85);
}

.rc-action-stack {
  --rc-action-size: 28px;
  --rc-action-radius: 8px;
  gap: 4px;
}

.rc-action-btn,
.rc-pin-btn {
  border-radius: var(--rc-action-radius) !important;
  background: rgba(14, 18, 24, 0.9) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.rc-action-btn:hover,
.rc-pin-btn:hover {
  border-color: rgba(255, 255, 255, 0.2) !important;
}

/* =======================================================================
   ODEI DESIGN SYSTEM V2 — Symbiotic Aurora
   Layered overrides for shell consistency and visual depth
   ======================================================================= */

:root {
  --sys-canvas-0: #02060f;
  --sys-canvas-1: #070d1a;
  --sys-canvas-2: #101a2d;
  --sys-panel: rgba(9, 14, 24, 0.84);
  --sys-panel-strong: rgba(10, 16, 30, 0.94);
  --sys-panel-border: rgba(142, 171, 219, 0.22);
  --sys-panel-border-bright: rgba(90, 224, 211, 0.4);
  --sys-cyan: #5ae0d3;
  --sys-amber: #f4cb66;
  --sys-indigo: #82a9ff;
  --sys-magenta: #d58dff;
  --sys-text-hi: #eef5ff;
  --sys-text-med: #b8c8e2;
  --sys-text-low: #8394b0;
  --sys-shadow-1: 0 14px 34px rgba(0, 0, 0, 0.42);
  --sys-shadow-2: 0 24px 56px rgba(0, 0, 0, 0.56);
  --sys-radius-xl: 20px;
  --sys-radius-lg: 14px;
  --sys-radius-md: 10px;
}

@keyframes odeiAuroraDrift {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.9;
  }

  50% {
    transform: translate3d(0, -10px, 0) scale(1.04);
    opacity: 1;
  }

  100% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.9;
  }
}

@keyframes odeiFadeRise {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body {
  background:
    radial-gradient(circle at 8% 12%, rgba(90, 224, 211, 0.12), transparent 36%),
    radial-gradient(circle at 86% 10%, rgba(130, 169, 255, 0.11), transparent 42%),
    radial-gradient(circle at 72% 88%, rgba(244, 203, 102, 0.08), transparent 40%),
    linear-gradient(150deg, var(--sys-canvas-0) 0%, var(--sys-canvas-1) 46%, var(--sys-canvas-2) 100%);
  color: var(--sys-text-hi);
}

#app {
  position: relative;
  isolation: isolate;
}

#app::before,
#app::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
}

#app::before {
  background:
    radial-gradient(circle at 20% 30%, rgba(90, 224, 211, 0.12), transparent 48%),
    radial-gradient(circle at 82% 18%, rgba(213, 141, 255, 0.09), transparent 45%);
  filter: blur(12px);
  animation: odeiAuroraDrift 16s ease-in-out infinite;
}

#app::after {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
  background-size:
    180px 180px,
    180px 180px;
  opacity: 0.18;
}

.app-nav,
.primary-sidebar,
#terminal-area {
  animation: odeiFadeRise 0.42s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

.app-nav {
  background:
    linear-gradient(128deg, rgba(8, 13, 24, 0.92), rgba(10, 16, 30, 0.95) 55%, rgba(16, 25, 40, 0.88)),
    radial-gradient(circle at 12% 10%, rgba(90, 224, 211, 0.18), transparent 40%);
  border-bottom: 1px solid rgba(130, 169, 255, 0.22);
  border-radius: 0 0 24px 24px;
  box-shadow:
    var(--sys-shadow-2),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  -webkit-backdrop-filter: blur(16px) saturate(130%);
  backdrop-filter: blur(16px) saturate(130%);
  gap: 8px;
}

.app-nav::after {
  opacity: 0.65;
}

.brand-mark {
  border-radius: 14px;
  border-color: rgba(90, 224, 211, 0.26);
  background: linear-gradient(145deg, rgba(12, 19, 34, 0.96), rgba(10, 16, 28, 0.94));
  box-shadow:
    0 12px 26px rgba(0, 0, 0, 0.42),
    0 0 16px rgba(90, 224, 211, 0.16);
}

.brand-title,
nav h1 {
  letter-spacing: 0.2em;
  font-size: clamp(18px, 1.5vw, 22px);
  color: var(--sys-text-hi);
}

.agent-tab {
  border-color: rgba(129, 161, 214, 0.28);
  background:
    linear-gradient(145deg, rgba(12, 18, 32, 0.9), rgba(10, 16, 28, 0.9)),
    radial-gradient(circle at 18% 15%, rgba(90, 224, 211, 0.18), transparent 58%);
  color: var(--sys-text-med);
  box-shadow:
    0 10px 22px rgba(0, 0, 0, 0.36),
    0 0 12px rgba(90, 224, 211, 0.14);
  font-size: 13px;
  min-height: 34px;
}

.agent-tab:hover {
  color: var(--sys-text-hi);
  border-color: rgba(90, 224, 211, 0.5);
  box-shadow:
    0 14px 26px rgba(0, 0, 0, 0.42),
    0 0 20px rgba(90, 224, 211, 0.2);
}

.agent-tab.active {
  border-color: rgba(244, 203, 102, 0.62);
  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.44),
    0 0 20px rgba(244, 203, 102, 0.22);
}

.primary-sidebar-shell {
  width: 248px;
}

.primary-sidebar-shell.is-collapsed {
  width: 56px;
}

.primary-sidebar {
  gap: 12px;
  padding: 14px 10px;
  background:
    linear-gradient(180deg, rgba(8, 13, 24, 0.93), rgba(10, 16, 30, 0.95)),
    radial-gradient(circle at 20% 6%, rgba(90, 224, 211, 0.15), transparent 42%);
  border-right: 1px solid var(--sys-panel-border);
  box-shadow:
    var(--sys-shadow-1),
    inset -1px 0 0 rgba(255, 255, 255, 0.03);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.primary-sidebar-shell.is-collapsed .primary-sidebar {
  opacity: 1;
  transform: none;
  pointer-events: auto;
  padding: 14px 8px;
}

.primary-sidebar__label {
  color: var(--sys-text-low);
  font-size: 9px;
  letter-spacing: 0.2em;
}

.primary-sidebar .primary-nav-item {
  border-radius: var(--sys-radius-md);
  background:
    linear-gradient(145deg, rgba(12, 18, 30, 0.86), rgba(10, 16, 26, 0.92)),
    radial-gradient(circle at 12% 12%, rgba(90, 224, 211, 0.16), transparent 60%);
  border: 1px solid rgba(126, 160, 214, 0.24);
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.34);
}

.primary-sidebar .primary-nav-item:hover:not(:disabled) {
  border-color: rgba(90, 224, 211, 0.44);
  box-shadow:
    0 14px 22px rgba(0, 0, 0, 0.44),
    0 0 16px rgba(90, 224, 211, 0.18);
}

.primary-sidebar .agent-tab.primary-nav-item.active {
  border-color: rgba(244, 203, 102, 0.64);
  box-shadow:
    0 16px 24px rgba(0, 0, 0, 0.45),
    0 0 18px rgba(244, 203, 102, 0.18);
}

.primary-sidebar-shell.is-collapsed .primary-sidebar__label,
.primary-sidebar-shell.is-collapsed .primary-sidebar__divider,
.primary-sidebar-shell.is-collapsed .primary-nav-item__text,
.primary-sidebar-shell.is-collapsed .primary-nav-item__meta {
  display: none;
}

.primary-sidebar-shell.is-collapsed .primary-sidebar__section {
  gap: 8px;
}

.primary-sidebar-shell.is-collapsed .primary-sidebar .primary-nav-item {
  justify-content: center;
  padding: 11px 8px;
  min-height: 40px;
}

.primary-sidebar-shell.is-collapsed .primary-sidebar .primary-nav-item__dot {
  width: 10px;
  height: 10px;
}

.primary-sidebar-toggle {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  border-color: rgba(90, 224, 211, 0.22);
  background:
    linear-gradient(145deg, rgba(12, 19, 34, 0.74), rgba(9, 15, 26, 0.7)),
    radial-gradient(circle at 18% 18%, rgba(90, 224, 211, 0.14), transparent 56%);
  color: rgba(226, 232, 240, 0.58);
  opacity: 0.34;
}

.primary-sidebar-toggle:hover {
  border-color: rgba(90, 224, 211, 0.46);
  box-shadow:
    0 10px 18px rgba(0, 0, 0, 0.36),
    0 0 12px rgba(90, 224, 211, 0.2);
  color: rgba(238, 242, 255, 0.9);
  opacity: 0.78;
}

#terminal-area {
  background:
    radial-gradient(circle at 12% 18%, rgba(90, 224, 211, 0.13), transparent 42%),
    radial-gradient(circle at 84% 14%, rgba(130, 169, 255, 0.14), transparent 45%),
    radial-gradient(circle at 70% 82%, rgba(244, 203, 102, 0.08), transparent 40%),
    linear-gradient(155deg, rgba(7, 12, 22, 0.98) 0%, rgba(9, 15, 28, 0.98) 50%, rgba(13, 20, 36, 0.98) 100%);
  border-top: 1px solid rgba(130, 169, 255, 0.24);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    var(--sys-shadow-2);
}

#terminal-area::before {
  opacity: 0.2;
  background-size: 160px 160px;
}

#terminal-area::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 12%),
    radial-gradient(circle at 50% -20%, rgba(255, 255, 255, 0.08), transparent 42%);
  opacity: 0.38;
}

.terminal-container {
  padding: 14px 16px 18px;
}

.terminal-container .xterm {
  border-radius: 16px;
  border: 1px solid rgba(130, 169, 255, 0.26);
  background:
    radial-gradient(circle at 6% 10%, rgba(90, 224, 211, 0.08), transparent 36%),
    linear-gradient(160deg, rgba(5, 10, 20, 0.95), rgba(8, 14, 24, 0.97));
  box-shadow:
    inset 0 0 0 1px rgba(10, 16, 28, 0.92),
    0 20px 36px rgba(0, 0, 0, 0.56);
}

.terminal-search-inner {
  border-radius: 12px;
  border-color: rgba(90, 224, 211, 0.36);
}

.terminal-search-btn {
  border-radius: 8px;
}

#sidebar {
  width: clamp(500px, 33vw, 640px);
  background:
    linear-gradient(180deg, rgba(6, 10, 18, 0.96), rgba(7, 11, 20, 0.98)),
    radial-gradient(circle at 80% 4%, rgba(244, 203, 102, 0.14), transparent 44%);
  border-left: 1px solid var(--sys-panel-border);
  box-shadow: -24px 0 48px rgba(0, 0, 0, 0.56);
}

#sidebar .metrics-card,
#sidebar .context-card,
#sidebar .summary-card,
#sidebar .status-card,
#sidebar .p-4,
#sidebar .p-5 {
  border: 1px solid rgba(132, 159, 206, 0.22);
  border-radius: var(--sys-radius-lg);
  background:
    linear-gradient(160deg, rgba(10, 15, 26, 0.86), rgba(8, 14, 24, 0.92)),
    radial-gradient(circle at 12% 12%, rgba(90, 224, 211, 0.12), transparent 54%);
  box-shadow: 0 14px 26px rgba(0, 0, 0, 0.46);
}

#companion-terminal-section,
#recent-conversations-section,
#health-dashboard-section {
  border-radius: 16px;
  border: 1px solid rgba(132, 159, 206, 0.24);
  box-shadow: 0 22px 34px rgba(0, 0, 0, 0.5);
}

#memory-view {
  background:
    radial-gradient(circle at 15% 8%, rgba(90, 224, 211, 0.09), transparent 34%),
    radial-gradient(circle at 85% 8%, rgba(130, 169, 255, 0.12), transparent 36%),
    linear-gradient(155deg, rgba(7, 12, 22, 0.96), rgba(11, 18, 30, 0.98));
}

.memory-container {
  padding: clamp(12px, 1.5vw, 18px);
  gap: clamp(10px, 1.3vw, 16px);
}

.memory-panel,
.memory-main {
  background:
    linear-gradient(160deg, rgba(10, 15, 26, 0.88), rgba(9, 14, 24, 0.92)),
    radial-gradient(circle at 12% 8%, rgba(90, 224, 211, 0.09), transparent 52%);
  border: 1px solid rgba(132, 159, 206, 0.22);
  box-shadow:
    0 18px 34px rgba(0, 0, 0, 0.46),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  border-radius: 16px;
}

.memory-panel-card {
  border: 1px solid rgba(120, 149, 196, 0.2);
  border-radius: 12px;
  background: linear-gradient(160deg, rgba(11, 17, 30, 0.88), rgba(10, 16, 28, 0.9));
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.32);
}

.memory-panel-card-header {
  padding-bottom: 8px;
}

.memory-panel-card-title {
  color: var(--sys-text-hi);
}

.memory-panel-card-subtitle {
  color: var(--sys-text-low);
}

.memory-domain-toggle,
.memory-loop-toggle,
.memory-status-toggle {
  border-radius: 10px;
  border: 1px solid rgba(122, 151, 198, 0.22);
  background: rgba(10, 16, 28, 0.82);
}

.memory-domain-toggle:hover,
.memory-loop-toggle:hover,
.memory-status-toggle:hover {
  border-color: rgba(90, 224, 211, 0.42);
  box-shadow:
    0 10px 18px rgba(0, 0, 0, 0.35),
    0 0 14px rgba(90, 224, 211, 0.16);
}

.memory-domain-toggle.active,
.memory-loop-toggle.active,
.memory-status-toggle.active {
  border-color: rgba(244, 203, 102, 0.52);
  box-shadow:
    0 10px 18px rgba(0, 0, 0, 0.38),
    0 0 16px rgba(244, 203, 102, 0.18);
}

.modal-overlay {
  background: radial-gradient(circle at 50% 20%, rgba(90, 224, 211, 0.18), rgba(2, 5, 12, 0.86));
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.modal-dialog {
  border-radius: 16px;
  border: 1px solid rgba(132, 159, 206, 0.3);
  background:
    linear-gradient(160deg, rgba(9, 14, 24, 0.95), rgba(10, 16, 28, 0.97)),
    radial-gradient(circle at 15% 10%, rgba(90, 224, 211, 0.12), transparent 52%);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.64);
}

.modal-header,
.modal-footer {
  border-color: rgba(132, 159, 206, 0.22);
}

.form-input,
select.form-input,
textarea.form-input {
  border-radius: 10px;
  border: 1px solid rgba(132, 159, 206, 0.3);
  background: rgba(9, 15, 26, 0.84);
  color: var(--sys-text-hi);
}

.form-input:focus,
select.form-input:focus,
textarea.form-input:focus {
  border-color: rgba(90, 224, 211, 0.64);
  box-shadow:
    0 0 0 2px rgba(90, 224, 211, 0.18),
    0 0 18px rgba(90, 224, 211, 0.16);
}

.btn-primary,
.btn-secondary {
  border-radius: 10px;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition:
    transform 0.18s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.btn-primary {
  background: linear-gradient(145deg, rgba(90, 224, 211, 0.3), rgba(90, 224, 211, 0.16));
  border: 1px solid rgba(90, 224, 211, 0.48);
  color: var(--sys-text-hi);
  box-shadow:
    0 14px 24px rgba(0, 0, 0, 0.4),
    0 0 16px rgba(90, 224, 211, 0.16);
}

.btn-primary:hover {
  transform: translateY(-1px);
  box-shadow:
    0 18px 30px rgba(0, 0, 0, 0.5),
    0 0 22px rgba(90, 224, 211, 0.22);
}

.btn-secondary {
  background: rgba(10, 16, 28, 0.82);
  border: 1px solid rgba(132, 159, 206, 0.28);
  color: var(--sys-text-med);
}

.btn-secondary:hover {
  transform: translateY(-1px);
  border-color: rgba(132, 159, 206, 0.46);
  color: var(--sys-text-hi);
}

@media (max-width: 1024px) {
  #sidebar {
    width: clamp(420px, 42vw, 560px);
    min-width: 360px;
  }
}

@media (max-width: 880px) {
  .primary-sidebar-shell {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  #app::before,
  .app-nav,
  .primary-sidebar,
  #terminal-area,
  #sidebar {
    animation: none !important;
  }
}

/* ==========================================================================
   ODEI DESIGN SYSTEM V3 — Final Cohesion
   Focus: shell consistency, mobile navigation resilience, tactile controls
   ========================================================================== */

:root {
  --sys-glass-soft: rgba(10, 16, 28, 0.78);
  --sys-glass-strong: rgba(10, 16, 28, 0.92);
  --sys-ring-cyan: rgba(90, 224, 211, 0.38);
  --sys-ring-amber: rgba(244, 203, 102, 0.36);
}

.app-nav .nav-shell {
  max-width: min(1820px, 100%);
  margin: 0 auto;
}

.nav-inline {
  justify-content: space-between;
}

.nav-agent-inline {
  margin-left: auto;
}

.dashboard-toggle-btn.agent-tab {
  border-radius: 12px;
  min-height: 36px;
  box-shadow:
    0 12px 20px rgba(0, 0, 0, 0.32),
    0 0 14px rgba(90, 224, 211, 0.14);
}

.dashboard-toggle-btn.agent-tab:hover {
  box-shadow:
    0 16px 24px rgba(0, 0, 0, 0.4),
    0 0 18px rgba(90, 224, 211, 0.2);
}

.primary-sidebar .primary-nav-item {
  min-height: 42px;
}

.primary-sidebar .primary-nav-item__label {
  font-weight: 650;
}

#terminal-area > .terminal-container {
  position: relative;
  z-index: 1;
}

#terminal-area > .terminal-container::before {
  content: '';
  position: absolute;
  inset: 8px;
  border-radius: 18px;
  border: 1px solid rgba(130, 169, 255, 0.12);
  pointer-events: none;
  opacity: 0.6;
}

#sidebar-default-view {
  padding: 10px;
  gap: 10px;
  background:
    linear-gradient(180deg, rgba(8, 12, 20, 0.78), rgba(9, 14, 22, 0.82)),
    radial-gradient(circle at 85% 4%, rgba(244, 203, 102, 0.1), transparent 38%);
}

#recent-conversations-section {
  background: linear-gradient(165deg, rgba(9, 14, 24, 0.76), rgba(8, 13, 22, 0.84));
}

#recent-conversations-section .recent-header {
  background: linear-gradient(140deg, rgba(12, 18, 31, 0.84), rgba(10, 16, 28, 0.88));
}

#recent-conversations-list .conversation-row {
  border: 1px solid rgba(132, 159, 206, 0.16);
  border-radius: 10px;
  box-shadow: 0 10px 16px rgba(0, 0, 0, 0.24);
}

#recent-conversations-list .conversation-row:hover {
  border-color: rgba(90, 224, 211, 0.32);
  box-shadow:
    0 14px 20px rgba(0, 0, 0, 0.3),
    0 0 14px rgba(90, 224, 211, 0.12);
}

#app-footer {
  -webkit-backdrop-filter: blur(12px) saturate(120%);
  backdrop-filter: blur(12px) saturate(120%);
  border-top-color: rgba(132, 159, 206, 0.26);
}

#app-footer .agent-status-row {
  border: 1px solid rgba(132, 159, 206, 0.18);
  background: linear-gradient(145deg, rgba(11, 16, 29, 0.7), rgba(10, 15, 27, 0.8));
  border-radius: 9px;
  padding: 4px 7px;
}

#app-footer .agent-status-row:hover {
  border-color: rgba(90, 224, 211, 0.34);
}

#app-footer .agent-control-btn {
  border-color: rgba(132, 159, 206, 0.25);
  background: rgba(10, 16, 28, 0.82);
}

#app-footer .agent-control-btn:hover {
  border-color: rgba(90, 224, 211, 0.44);
  box-shadow: 0 0 14px rgba(90, 224, 211, 0.18);
}

#app-footer .mcp-status-pill {
  border-radius: 9px;
}

#app-footer .mcp-status-pill.ok {
  border-color: rgba(90, 224, 211, 0.38);
}

#app-footer .mcp-status-pill.warning {
  border-color: rgba(var(--odei-color-gold-rgb), 0.42);
}

#app-footer .mcp-status-pill.error {
  border-color: rgba(255, 139, 156, 0.32);
}

@media (max-width: 1200px) {
  #sidebar {
    width: clamp(430px, 40vw, 560px);
    min-width: 340px;
  }
}

@media (max-width: 880px) {
  .primary-sidebar-shell {
    display: block;
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(58px + env(safe-area-inset-bottom, 0px));
    width: min(96vw, 760px);
    height: auto;
    z-index: 140;
    pointer-events: none;
  }

  .primary-sidebar {
    pointer-events: auto;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    height: auto;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 8px;
    border-radius: 16px;
    border: 1px solid rgba(132, 159, 206, 0.26);
    box-shadow:
      0 16px 32px rgba(0, 0, 0, 0.45),
      0 0 22px rgba(90, 224, 211, 0.12);
    background:
      linear-gradient(140deg, rgba(8, 13, 24, 0.94), rgba(10, 16, 28, 0.96)),
      radial-gradient(circle at 12% 8%, rgba(90, 224, 211, 0.16), transparent 46%);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .primary-sidebar__section {
    flex-direction: row;
    align-items: center;
    gap: 8px;
  }

  .primary-sidebar__label,
  .primary-sidebar__divider {
    display: none !important;
  }

  .primary-sidebar .primary-nav-item {
    flex: 0 0 auto;
    min-width: 122px;
    padding: 8px 9px;
    border-radius: 10px;
  }

  .primary-sidebar .primary-nav-item__role,
  .primary-sidebar .primary-nav-item__meta {
    display: none;
  }

  .primary-sidebar .primary-nav-item__label {
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .primary-sidebar-toggle {
    display: none;
  }

  .primary-sidebar-shell.is-collapsed {
    width: min(96vw, 760px);
  }

  .primary-sidebar-shell.is-collapsed .primary-sidebar {
    opacity: 1;
    transform: none;
    pointer-events: auto;
    padding: 8px;
  }

  #app-footer {
    padding-bottom: calc(7px + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 640px) {
  .app-nav {
    border-radius: 0 0 14px 14px;
    padding: 10px 12px 12px;
  }

  .brand-cluster {
    gap: 8px;
  }

  .brand-mark {
    padding: 6px;
    border-radius: 10px;
  }

  .brand-title,
  nav h1 {
    font-size: 14px;
    letter-spacing: 0.13em;
  }

  .agent-tab {
    min-height: 32px;
    padding: 7px 10px;
    border-radius: 10px;
  }

  .primary-sidebar-shell {
    bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  }

  .primary-sidebar {
    gap: 6px;
    padding: 7px;
    border-radius: 14px;
  }

  .primary-sidebar .primary-nav-item {
    min-width: 104px;
    padding: 7px 8px;
  }

  #terminal-area > .terminal-container {
    padding: 10px 10px 14px;
  }

  #terminal-area > .terminal-container::before {
    inset: 5px;
    border-radius: 14px;
  }

  .footer-inline {
    min-height: 40px;
    gap: 8px;
  }

  #app-footer .mcp-status-group {
    gap: 4px;
  }

  #app-footer .mcp-status-pill {
    padding: 4px 6px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .agent-tab,
  .primary-sidebar .primary-nav-item,
  #app-footer .agent-control-btn,
  #app-footer .mcp-status-pill {
    transition: none !important;
  }
}

/* =======================================================================
   ODEI DESIGN SYSTEM V4 — Accessibility and Interaction Clarity
   ======================================================================= */

:root {
  --odei-focus-ring: rgba(90, 224, 211, 0.78);
  --odei-focus-core: rgba(6, 10, 18, 0.92);
}

a:focus-visible,
button:focus-visible,
[role='button']:focus-visible,
.agent-tab:focus-visible,
.dashboard-toggle-btn:focus-visible,
.primary-sidebar .primary-nav-item:focus-visible,
#recent-conversations-list .conversation-row:focus-visible,
#app-footer .agent-control-btn:focus-visible,
#app-footer .mcp-status-pill:focus-visible {
  outline: none;
  border-color: rgba(90, 224, 211, 0.66) !important;
  box-shadow:
    0 0 0 2px var(--odei-focus-core),
    0 0 0 4px var(--odei-focus-ring),
    0 0 20px rgba(90, 224, 211, 0.25) !important;
}

.app-nav,
.primary-sidebar,
#terminal-area > .terminal-container {
  position: relative;
}

.app-nav::after,
.primary-sidebar::after,
#terminal-area > .terminal-container::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 20%, rgba(90, 224, 211, 0.06) 48%, transparent 70%);
  opacity: 0.35;
}

@media (prefers-contrast: more) {
  #terminal-area > .terminal-container,
  .primary-sidebar,
  #recent-conversations-section,
  #app-footer .agent-status-row {
    border-color: rgba(194, 214, 255, 0.5) !important;
  }

  .primary-sidebar .primary-nav-item__label,
  .brand-title,
  nav h1 {
    color: #f4f8ff !important;
    text-shadow: 0 0 1px rgba(244, 248, 255, 0.5);
  }
}

@media (prefers-reduced-motion: reduce) {
  .app-nav::after,
  .primary-sidebar::after,
  #terminal-area > .terminal-container::after {
    display: none !important;
  }
}

/* =======================================================================
   ODEI UX PATCH — Navbar Alignment + Commander Sidebar Immediate Reveal
   WHY: Keep the brand anchor consistently left and remove perceived lag when
   the Commander right sidebar becomes visible.
   ======================================================================= */

.app-nav .nav-shell {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.nav-inline {
  justify-content: flex-start !important;
}

.nav-agent-inline {
  flex: 0 0 auto !important;
  margin-left: 12px !important;
}

/* SIDEBAR INSTANT-SHOW FIX
   The sidebar is position:absolute, always in the DOM.
   When hidden (sidebar-collapsed): visibility:hidden removes it from hit-testing
   and paint, but keeps layout stable.  No opacity tricks, no compositor layers,
   no box-shadow artifacts.
   When showing: visibility:visible — single-frame, zero animation. */

#sidebar {
  transition: none !important;
}

#sidebar.sidebar-collapsed {
  visibility: hidden !important;
  pointer-events: none;
  /* Kill box-shadow while hidden — the -24px shadow extending beyond the
     sidebar boundary caused a compositor artifact (shadow rendered in a
     separate pass, appearing as a "sliding line"). */
  box-shadow: none !important;
}

/* Kill ALL animations and transitions inside the sidebar so nothing can
   visually stagger, fade, or slide when the sidebar becomes visible. */

#sidebar *,
#sidebar *::before,
#sidebar *::after {
  animation-duration: 0s !important;
  animation-delay: 0s !important;
  transition-duration: 0s !important;
  transition-delay: 0s !important;
}

/* =======================================================================
   INLINE STYLE MIGRATION ADAPTERS
   WHY: Keep class-based dynamic UI stable after build:css regeneration.
   ======================================================================= */

.details-panel .badge-type.badge-layer {
  opacity: 0.7;
}

.details-panel .priority-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 999px;
}

.details-panel .priority-dot.priority-high {
  background: var(--odei-color-danger-400);
  box-shadow: 0 0 6px rgba(255, 123, 123, 0.5);
}

.details-panel .priority-dot.priority-medium {
  background: var(--odei-color-gold-500);
}

.details-panel .priority-dot.priority-low {
  background: var(--pale-gray, #7c889a);
}

.details-panel .section-value.section-value-connections {
  display: flex;
  align-items: center;
  gap: 8px;
}

.details-panel .connections-count-value {
  color: var(--odei-color-jade-500);
  font-weight: 500;
}

.details-panel .connections-count-label {
  color: var(--pale-gray, #7c889a);
}

.details-panel .detail-overdue-date {
  color: var(--odei-color-danger-400);
  font-weight: 500;
}

.nodes-group-items.is-collapsed,
.nodes-type-items.is-collapsed {
  display: none;
}

.memory-list-item-badge.memory-list-item-badge-subtype {
  background: rgba(124, 136, 154, 0.18);
  color: var(--text-secondary);
}

.memory-tooltip-dot.memory-tooltip-dot-dynamic {
  background: var(--memory-tooltip-accent, var(--odei-color-jade-500));
}

.memory-list-empty-state {
  grid-column: 1 / -1;
  text-align: center;
  padding: 40px;
  color: var(--pale-gray, #7c889a);
}

.node-list-status-dot.node-list-status-active {
  background-color: var(--odei-color-jade-500);
}

.node-list-status-dot.node-list-status-in-progress {
  background-color: var(--odei-color-gold-500);
}

.node-list-status-dot.node-list-status-blocked {
  background-color: var(--odei-color-danger-400);
}

.node-list-status-dot.node-list-status-done {
  background-color: #4ade80;
}

.node-list-status-dot.node-list-status-draft {
  background-color: var(--pale-gray, #7c889a);
}

.node-list-priority-dot.node-list-priority-high {
  background-color: var(--odei-color-danger-400);
}

.node-list-priority-dot.node-list-priority-medium {
  background-color: var(--odei-color-gold-500);
}

.node-list-priority-dot.node-list-priority-low {
  background-color: var(--pale-gray, #7c889a);
}

.settings-hidden-file-input {
  display: none;
}

/* WHY: The provided logo image has a black backdrop; blend + container styling
   makes the mark feel native to the navbar instead of a pasted bitmap. */

.brand-mark {
  position: relative;
  width: 50px;
  height: 50px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
  border-radius: 14px;
  border: 1px solid rgba(90, 224, 211, 0.28);
  background:
    radial-gradient(circle at 30% 22%, rgba(120, 226, 255, 0.2), transparent 58%),
    linear-gradient(145deg, rgba(10, 16, 28, 0.96), rgba(8, 14, 26, 0.98));
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.42),
    0 0 18px rgba(90, 224, 211, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.brand-mark::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow:
    inset 0 0 18px rgba(5, 12, 22, 0.55),
    inset 0 -10px 18px rgba(4, 10, 20, 0.42);
}

.brand-logo-img {
  position: relative;
  width: 38px;
  height: 38px;
  -o-object-fit: contain;
  object-fit: contain;
  mix-blend-mode: screen;
  filter: brightness(1.1) contrast(1.08) drop-shadow(0 0 10px rgba(137, 231, 255, 0.5));
  opacity: 0.98;
  transform: scale(1.02);
  transition:
    transform 180ms ease,
    filter 180ms ease,
    opacity 180ms ease;
}

.app-nav:hover .brand-logo-img {
  transform: scale(1.06);
  filter: brightness(1.16) contrast(1.1) drop-shadow(0 0 14px rgba(137, 231, 255, 0.58));
}

@media (max-width: 640px) {
  .brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 12px;
  }

  .brand-logo-img {
    width: 32px;
    height: 32px;
  }
}

/* ==========================================================================
   Agents Teams View
   Why: Commander's team architecture needs a dedicated, low-friction control
   surface that stays legible from desktop to narrow workspaces.
   ========================================================================== */

#terminal-agents {
  overflow-y: auto;
  padding: 28px;
  background:
    radial-gradient(circle at 10% 0%, rgba(74, 211, 197, 0.09), transparent 42%),
    radial-gradient(circle at 88% 8%, rgba(91, 159, 255, 0.08), transparent 44%),
    linear-gradient(180deg, rgba(2, 10, 22, 0.96), rgba(1, 6, 16, 0.98));
}

.agents-teams-view {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-height: 100%;
  width: min(1120px, 100%);
  margin: 0 auto;
}

.agents-teams-hero {
  display: grid;
  gap: 8px;
  padding: 20px 22px;
  border: 1px solid rgba(63, 208, 194, 0.22);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(8, 26, 44, 0.82), rgba(6, 18, 34, 0.72)),
    radial-gradient(circle at 70% 50%, rgba(89, 201, 248, 0.12), transparent 64%);
  box-shadow:
    inset 0 0 0 1px rgba(120, 239, 228, 0.04),
    0 22px 44px rgba(1, 8, 20, 0.42);
}

.agents-teams-kicker {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(148, 214, 255, 0.86);
}

.agents-teams-title {
  margin: 0;
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.08;
  letter-spacing: 0.01em;
  color: #ebf8ff;
}

.agents-teams-subtitle {
  margin: 0;
  color: rgba(167, 196, 220, 0.92);
  font-size: 14px;
  letter-spacing: 0.01em;
}

.agents-teams-tabs {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
}

.agents-team-tab {
  display: grid;
  gap: 4px;
  align-content: center;
  min-height: 74px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(72, 125, 157, 0.4);
  background: linear-gradient(165deg, rgba(8, 16, 31, 0.96), rgba(6, 13, 26, 0.94));
  color: rgba(194, 216, 235, 0.9);
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease,
    color 160ms ease;
}

.agents-team-tab:hover {
  border-color: rgba(83, 222, 209, 0.52);
  color: #f2fbff;
  transform: translateY(-1px);
}

.agents-team-tab:focus-visible {
  outline: none;
  border-color: rgba(126, 235, 224, 0.84);
  box-shadow: 0 0 0 3px rgba(97, 239, 226, 0.18);
}

.agents-team-tab.active {
  border-color: rgba(103, 236, 222, 0.75);
  background:
    linear-gradient(150deg, rgba(11, 30, 45, 0.95), rgba(8, 24, 36, 0.94)),
    radial-gradient(circle at 24% 18%, rgba(90, 228, 213, 0.22), transparent 58%);
  box-shadow:
    0 10px 20px rgba(4, 12, 25, 0.36),
    inset 0 0 18px rgba(58, 199, 186, 0.14);
  color: #edfbff;
}

.agents-team-tab-name {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: lowercase;
}

.agents-team-tab-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.agents-team-tab-state {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 1px solid rgba(168, 197, 219, 0.45);
  background: rgba(128, 146, 164, 0.55);
  flex-shrink: 0;
}

.agents-team-tab-state.is-running {
  background: rgba(71, 222, 172, 0.95);
  border-color: rgba(107, 239, 192, 0.88);
  box-shadow: 0 0 8px rgba(71, 222, 172, 0.6);
}

.agents-team-tab-state.is-starting {
  background: rgba(251, 191, 36, 0.95);
  border-color: rgba(253, 224, 71, 0.88);
  box-shadow: 0 0 8px rgba(245, 200, 72, 0.48);
}

.agents-team-tab-state.is-stopped {
  background: rgba(120, 135, 149, 0.6);
}

.agents-team-tab-state.is-error {
  background: rgba(244, 114, 114, 0.95);
  border-color: rgba(252, 165, 165, 0.88);
  box-shadow: 0 0 8px rgba(244, 114, 114, 0.5);
}

.agents-team-tab-model {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(139, 189, 218, 0.86);
}

.agents-team-panel {
  min-height: 280px;
  border-radius: 16px;
  border: 1px solid rgba(61, 113, 146, 0.4);
  background:
    linear-gradient(180deg, rgba(5, 14, 28, 0.96), rgba(4, 10, 22, 0.96)),
    radial-gradient(circle at 84% 12%, rgba(80, 204, 240, 0.12), transparent 46%);
  padding: 24px;
  box-shadow:
    inset 0 0 0 1px rgba(124, 220, 255, 0.04),
    0 28px 46px rgba(1, 7, 18, 0.38);
}

.agents-team-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.agents-team-name {
  margin: 0;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #f0fbff;
  text-transform: lowercase;
}

.agents-team-mission {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(165, 198, 224, 0.92);
  max-width: 72ch;
}

.agents-team-model-badge {
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(95, 215, 202, 0.5);
  color: #d8fff8;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  background: rgba(47, 173, 159, 0.15);
  flex-shrink: 0;
}

.agents-team-badges {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.agents-team-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(97, 131, 156, 0.56);
  background: rgba(14, 25, 38, 0.8);
  color: rgba(210, 228, 242, 0.92);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.agents-team-status-badge.is-running {
  border-color: rgba(80, 225, 173, 0.6);
  background: rgba(17, 66, 50, 0.58);
  color: rgba(171, 255, 225, 0.95);
}

.agents-team-status-badge.is-starting {
  border-color: rgba(252, 211, 77, 0.6);
  background: rgba(85, 62, 22, 0.58);
  color: rgba(253, 241, 193, 0.95);
}

.agents-team-status-badge.is-stopped {
  border-color: rgba(129, 148, 166, 0.62);
  background: rgba(25, 37, 52, 0.68);
  color: rgba(196, 210, 224, 0.92);
}

.agents-team-status-badge.is-error {
  border-color: rgba(248, 113, 113, 0.62);
  background: rgba(94, 31, 40, 0.62);
  color: rgba(255, 211, 211, 0.96);
}

.agents-team-runtime-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.agents-team-runtime-card {
  border: 1px solid rgba(67, 121, 154, 0.42);
  border-radius: 10px;
  padding: 10px 12px;
  background: rgba(9, 22, 36, 0.78);
}

.agents-team-runtime-label {
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(129, 176, 206, 0.86);
  margin-bottom: 4px;
}

.agents-team-runtime-value {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgba(231, 246, 255, 0.95);
}

.agents-team-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.agents-team-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 9px;
  border: 1px solid rgba(75, 150, 180, 0.5);
  background: linear-gradient(160deg, rgba(8, 31, 45, 0.92), rgba(7, 24, 37, 0.92));
  color: rgba(210, 235, 252, 0.96);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition:
    border-color 160ms ease,
    transform 160ms ease,
    box-shadow 160ms ease;
}

.agents-team-action-btn:hover {
  border-color: rgba(105, 236, 224, 0.62);
  transform: translateY(-1px);
  box-shadow: 0 8px 14px rgba(3, 12, 23, 0.34);
}

.agents-team-action-btn:disabled {
  opacity: 0.58;
  cursor: not-allowed;
  pointer-events: none;
  transform: none;
  box-shadow: none;
}

.agents-team-action-btn.primary {
  border-color: rgba(96, 225, 203, 0.64);
  background: linear-gradient(155deg, rgba(22, 76, 71, 0.94), rgba(13, 49, 63, 0.94));
  color: rgba(225, 255, 247, 0.98);
}

.agents-team-action-btn.subtle {
  border-color: rgba(93, 127, 151, 0.56);
  color: rgba(191, 214, 230, 0.9);
}

.agents-team-action-btn.danger {
  border-color: rgba(226, 98, 115, 0.62);
  background: linear-gradient(155deg, rgba(79, 24, 34, 0.9), rgba(66, 20, 31, 0.9));
  color: rgba(255, 220, 225, 0.96);
}

.agents-team-prompt {
  width: 100%;
  border: 1px solid rgba(76, 137, 168, 0.54);
  border-radius: 10px;
  background: rgba(7, 18, 30, 0.88);
  color: rgba(227, 243, 255, 0.96);
  font-size: 13px;
  line-height: 1.45;
  padding: 10px 11px;
  resize: vertical;
  min-height: 96px;
}

.agents-team-prompt::-moz-placeholder {
  color: rgba(132, 165, 189, 0.78);
}

.agents-team-prompt::placeholder {
  color: rgba(132, 165, 189, 0.78);
}

.agents-team-prompt:focus-visible {
  outline: none;
  border-color: rgba(108, 236, 220, 0.78);
  box-shadow: 0 0 0 3px rgba(90, 218, 202, 0.2);
}

.agents-team-prompt-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}

.agents-team-notice {
  margin-top: 12px;
  border: 1px solid rgba(74, 130, 164, 0.42);
  border-radius: 10px;
  padding: 10px 12px;
  background: rgba(8, 21, 34, 0.74);
  color: rgba(195, 219, 237, 0.95);
  font-size: 12px;
  line-height: 1.45;
}

.agents-team-notice.is-success {
  border-color: rgba(81, 223, 175, 0.48);
  color: rgba(185, 255, 225, 0.96);
}

.agents-team-notice.is-warning {
  border-color: rgba(240, 196, 78, 0.52);
  color: rgba(255, 239, 196, 0.96);
}

.agents-team-notice.is-error {
  border-color: rgba(244, 114, 114, 0.52);
  color: rgba(255, 215, 215, 0.96);
}

.agents-team-notice.is-muted {
  border-color: rgba(90, 113, 132, 0.42);
  color: rgba(166, 186, 205, 0.88);
}

.agents-team-output {
  margin: 0;
  border: 1px solid rgba(64, 109, 136, 0.42);
  border-radius: 10px;
  background: rgba(4, 12, 20, 0.92);
  color: rgba(173, 218, 255, 0.94);
  padding: 12px;
  min-height: 184px;
  max-height: 320px;
  overflow: auto;
  font-family: 'SF Mono', Menlo, Monaco, 'Courier New', monospace;
  font-size: 11.5px;
  line-height: 1.42;
  white-space: pre-wrap;
  word-break: break-word;
}

.agents-team-section {
  margin-top: 16px;
}

.agents-team-section-title {
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(131, 190, 223, 0.9);
}

.agents-team-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.agents-team-chip {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 11px;
  border-radius: 9px;
  border: 1px solid rgba(68, 127, 161, 0.4);
  background: rgba(8, 24, 38, 0.78);
  color: rgba(214, 236, 252, 0.95);
  font-size: 12px;
  line-height: 1.25;
}

@media (max-width: 1260px) {
  .agents-teams-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 880px) {
  #terminal-agents {
    padding: 18px 14px 20px;
  }

  .agents-teams-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .agents-team-panel {
    padding: 18px;
  }

  .agents-team-panel-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .agents-team-name {
    font-size: 23px;
  }

  .agents-team-mission {
    font-size: 13px;
  }

  .agents-team-runtime-grid {
    grid-template-columns: 1fr;
  }
}

/* === Primary Sidebar Menu Polish ===
   WHY: Sidebar navigation is the main control surface. It must feel premium,
   with clear hierarchy + crisp active/hover/focus states (without extra JS). */

:root {
  --odei-nav-accent-rgb: var(--odei-color-jade-rgb, 79, 209, 197);
  --odei-nav-active-rgb: var(--odei-color-gold-rgb, 244, 201, 93);
  --odei-nav-card-radius: 16px;
  --odei-nav-card-pad-x: 14px;
  --odei-nav-card-pad-y: 12px;
}

.primary-sidebar {
  gap: 14px;
  padding: 18px 14px;
}

.primary-sidebar-shell {
  width: clamp(212px, 20vw, 276px);
}

.primary-sidebar-shell.is-collapsed {
  width: clamp(52px, 5.8vw, 60px);
}

.primary-sidebar__section {
  gap: 10px;
}

.primary-sidebar__label {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 8px 4px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: rgba(150, 170, 192, 0.92);
}

.primary-sidebar__label::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(var(--odei-nav-accent-rgb), 0.65);
  box-shadow: 0 0 12px rgba(var(--odei-nav-accent-rgb), 0.25);
  flex: 0 0 auto;
}

.primary-sidebar__label::after {
  content: '';
  height: 1px;
  flex: 1 1 auto;
  margin-left: 2px;
  background: linear-gradient(90deg, rgba(var(--odei-nav-accent-rgb), 0.22), transparent 85%);
  opacity: 0.8;
}

.primary-sidebar__divider {
  margin: 2px 2px;
  opacity: 0.65;
}

.primary-sidebar__group-toggle {
  position: relative;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid transparent;
  background:
    linear-gradient(165deg, rgba(6, 10, 18, 0.35), rgba(6, 10, 18, 0.08)) padding-box,
    linear-gradient(
        135deg,
        rgba(var(--odei-nav-accent-rgb), 0.34),
        rgba(255, 255, 255, 0.06),
        rgba(var(--odei-nav-accent-rgb), 0.14)
      )
      border-box;
  color: inherit;
  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    filter 0.18s ease;
}

.primary-sidebar__group-toggle:hover {
  transform: translateY(-1px);
  box-shadow:
    0 14px 24px rgba(0, 0, 0, 0.38),
    0 0 18px rgba(var(--odei-nav-accent-rgb), 0.12);
}

.primary-sidebar__group-toggle:active {
  transform: translateY(0);
}

.primary-sidebar__group-toggle:focus-visible {
  outline: 2px solid rgba(var(--odei-nav-active-rgb), 0.64);
  outline-offset: 2px;
}

.primary-sidebar__group-title {
  color: rgba(170, 190, 212, 0.92);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

.primary-sidebar__group-glyph {
  color: rgba(190, 206, 224, 0.82);
  transition:
    transform 0.2s ease,
    color 0.2s ease;
}

.primary-sidebar__group-toggle:hover .primary-sidebar__group-glyph {
  color: rgba(238, 246, 255, 0.94);
}

.primary-sidebar__section--group.is-collapsed .primary-sidebar__group-glyph {
  transform: rotate(-90deg);
}

.primary-sidebar__group-body {
  display: grid;
  gap: 10px;
}

.primary-sidebar__section--group.is-collapsed .primary-sidebar__group-body {
  display: none;
}

.primary-sidebar .primary-nav-item {
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 64px;
  padding: var(--odei-nav-card-pad-y) var(--odei-nav-card-pad-x);
  border-radius: var(--odei-nav-card-radius);
  border: 1px solid transparent;
  background:
    linear-gradient(155deg, rgba(10, 15, 26, 0.92), rgba(7, 11, 19, 0.97)) padding-box,
    linear-gradient(
        135deg,
        rgba(var(--odei-nav-accent-rgb), 0.36),
        rgba(255, 255, 255, 0.08),
        rgba(var(--odei-nav-accent-rgb), 0.14)
      )
      border-box;
  box-shadow:
    0 14px 26px rgba(0, 0, 0, 0.36),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    filter 0.18s ease;
  text-align: left;
}

.primary-sidebar .primary-nav-item::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 12% 0%, rgba(var(--odei-nav-accent-rgb), 0.12), transparent 62%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.05), transparent 60%);
  opacity: 0.65;
  pointer-events: none;
}

.primary-sidebar .primary-nav-item::after {
  content: '';
  position: absolute;
  left: 10px;
  top: 10px;
  bottom: 10px;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, transparent, rgba(var(--odei-nav-accent-rgb), 0.82), transparent);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
}

.primary-sidebar .primary-nav-item:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow:
    0 18px 30px rgba(0, 0, 0, 0.44),
    0 0 18px rgba(var(--odei-nav-accent-rgb), 0.14);
  filter: brightness(1.04);
}

.primary-sidebar .primary-nav-item:hover:not(:disabled)::after {
  opacity: 0.9;
}

.primary-sidebar .primary-nav-item:active:not(:disabled) {
  transform: translateY(0);
  filter: brightness(1.02);
}

.primary-sidebar .primary-nav-item:focus-visible {
  outline: 2px solid rgba(var(--odei-nav-active-rgb), 0.62);
  outline-offset: 2px;
}

.primary-sidebar .primary-nav-link {
  text-decoration: none;
  color: inherit;
}

.primary-sidebar .primary-nav-link.is-active,
.primary-sidebar .agent-tab.primary-nav-item.active {
  --odei-nav-accent-rgb: var(--odei-nav-active-rgb);
  box-shadow:
    0 20px 34px rgba(0, 0, 0, 0.46),
    0 0 22px rgba(var(--odei-nav-active-rgb), 0.16);
  filter: brightness(1.05);
}

.primary-sidebar .primary-nav-link.is-active::after,
.primary-sidebar .agent-tab.primary-nav-item.active::after {
  opacity: 1;
}

.primary-sidebar .primary-nav-item__dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    0 0 0 3px rgba(0, 0, 0, 0.28),
    0 0 14px rgba(var(--odei-nav-accent-rgb), 0.18);
}

.primary-sidebar .primary-nav-link.is-active .primary-nav-item__dot,
.primary-sidebar .agent-tab.primary-nav-item.active .primary-nav-item__dot {
  box-shadow:
    0 0 0 3px rgba(0, 0, 0, 0.28),
    0 0 16px rgba(var(--odei-nav-active-rgb), 0.3);
}

.primary-sidebar .primary-nav-item__text {
  flex: 1 1 auto;
  gap: 3px;
  min-width: 0;
}

.primary-sidebar .primary-nav-item__label {
  font-size: 14px;
  font-weight: 650;
  letter-spacing: 0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.primary-sidebar .primary-nav-item__role {
  font-size: 10px;
  letter-spacing: 0.24em;
  color: rgba(160, 176, 196, 0.86);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media (max-width: 1024px) {
  .primary-sidebar {
    padding: 16px 12px;
  }

  .primary-sidebar-shell {
    width: clamp(200px, 22vw, 260px);
  }
}

@media (max-width: 640px) {
  .primary-sidebar .primary-nav-item {
    min-height: 58px;
    padding: 11px 12px;
    border-radius: 14px;
  }

  .primary-sidebar .primary-nav-item__label {
    font-size: 13px;
  }

  .primary-sidebar__group-toggle {
    padding: 7px 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .primary-sidebar .primary-nav-item,
  .primary-sidebar__group-toggle {
    transition: none;
  }
}

.placeholder\:text-zinc-500::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(113 113 122 / var(--tw-text-opacity, 1));
}

.placeholder\:text-zinc-500::placeholder {
  --tw-text-opacity: 1;
  color: rgb(113 113 122 / var(--tw-text-opacity, 1));
}

.last\:border-0:last-child {
  border-width: 0px;
}

.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
    skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
    skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-amber-500\/30:hover {
  border-color: rgb(245 158 11 / 0.3);
}

.hover\:border-amber-500\/50:hover {
  border-color: rgb(245 158 11 / 0.5);
}

.hover\:border-blue-500\/30:hover {
  border-color: rgb(59 130 246 / 0.3);
}

.hover\:border-emerald-500\/30:hover {
  border-color: rgb(16 185 129 / 0.3);
}

.hover\:border-emerald-500\/50:hover {
  border-color: rgb(16 185 129 / 0.5);
}

.hover\:border-red-500\/30:hover {
  border-color: rgb(239 68 68 / 0.3);
}

.hover\:border-red-500\/50:hover {
  border-color: rgb(239 68 68 / 0.5);
}

.hover\:border-teal-500\/30:hover {
  border-color: rgb(20 184 166 / 0.3);
}

.hover\:border-teal-500\/50:hover {
  border-color: rgb(20 184 166 / 0.5);
}

.hover\:border-zinc-600:hover {
  --tw-border-opacity: 1;
  border-color: rgb(82 82 91 / var(--tw-border-opacity, 1));
}

.hover\:border-zinc-700:hover {
  --tw-border-opacity: 1;
  border-color: rgb(63 63 70 / var(--tw-border-opacity, 1));
}

.hover\:bg-amber-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-700\/30:hover {
  background-color: rgb(55 65 81 / 0.3);
}

.hover\:bg-indigo-500:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-500\/10:hover {
  background-color: rgb(239 68 68 / 0.1);
}

.hover\:bg-teal-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(45 212 191 / var(--tw-bg-opacity, 1));
}

.hover\:bg-teal-400\/10:hover {
  background-color: rgb(45 212 191 / 0.1);
}

.hover\:bg-teal-500\/20:hover {
  background-color: rgb(20 184 166 / 0.2);
}

.hover\:bg-zinc-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(228 228 231 / var(--tw-bg-opacity, 1));
}

.hover\:bg-zinc-900\/30:hover {
  background-color: rgb(24 24 27 / 0.3);
}

.hover\:bg-zinc-900\/50:hover {
  background-color: rgb(24 24 27 / 0.5);
}

.hover\:bg-opacity-20:hover {
  --tw-bg-opacity: 0.2;
}

.hover\:text-amber-400:hover {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-300:hover {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}

.hover\:text-red-300:hover {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.hover\:text-teal-300:hover {
  --tw-text-opacity: 1;
  color: rgb(94 234 212 / var(--tw-text-opacity, 1));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.hover\:text-zinc-300:hover {
  --tw-text-opacity: 1;
  color: rgb(212 212 216 / var(--tw-text-opacity, 1));
}

.hover\:opacity-80:hover {
  opacity: 0.8;
}

.focus\:border-emerald-500\/40:focus {
  border-color: rgb(16 185 129 / 0.4);
}

.focus\:border-teal-500\/50:focus {
  border-color: rgb(20 184 166 / 0.5);
}

.focus\:border-zinc-700:focus {
  --tw-border-opacity: 1;
  border-color: rgb(63 63 70 / var(--tw-border-opacity, 1));
}

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

.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-emerald-500\/30:focus {
  --tw-ring-color: rgb(16 185 129 / 0.3);
}

.group:hover .group-hover\:translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
    skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

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

.group:hover .group-hover\:shadow-\[0_0_8px_rgba\(234\2c 179\2c 8\2c 0\.6\)\] {
  --tw-shadow: 0 0 8px rgba(234, 179, 8, 0.6);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.group:hover .group-hover\:shadow-\[0_0_8px_rgba\(239\2c 68\2c 68\2c 0\.6\)\] {
  --tw-shadow: 0 0 8px rgba(239, 68, 68, 0.6);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.group:hover .group-hover\:shadow-\[0_0_8px_rgba\(96\2c 165\2c 250\2c 0\.6\)\] {
  --tw-shadow: 0 0 8px rgba(96, 165, 250, 0.6);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

@media (min-width: 768px) {
  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

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

/* ==========================================================================
   Adaptive Perf Mode
   Keep visual identity while reducing expensive compositor work.
   ========================================================================== */

html[data-perf-mode='lite'] #app::before {
  animation: none !important;
  filter: blur(8px);
  opacity: 0.62;
}

html[data-perf-mode='lite'] #app::after {
  opacity: 0.12;
}

html[data-perf-mode='lite'] .app-nav,
html[data-perf-mode='lite'] #app-footer {
  -webkit-backdrop-filter: blur(8px) saturate(112%);
  backdrop-filter: blur(8px) saturate(112%);
}

html[data-perf-mode='lite'] .memory-graph-area {
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.035),
    0 0 0 1px rgba(var(--odei-color-jade-rgb), 0.12),
    0 0 24px rgba(var(--odei-color-jade-rgb), 0.06),
    0 12px 24px rgba(0, 0, 0, 0.48);
}

html[data-perf-mode='lite'] .memory-graph-area::before,
html[data-perf-mode='lite'] .memory-graph-area::after {
  animation: none !important;
}

html[data-perf-mode='lite'] .memory-graph-area::before {
  opacity: 0.34;
}

html[data-perf-mode='lite'] .memory-graph-area::after {
  opacity: 0.14;
  background-position:
    0 0,
    0 0;
}

html[data-perf-mode='lite'] .primary-sidebar,
html[data-perf-mode='lite'] #terminal-area > .terminal-container,
html[data-perf-mode='lite'] .shell-surface {
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.38);
}

html[data-perf-mode='lite'] .agent-tab,
html[data-perf-mode='lite'] .primary-sidebar .primary-nav-item,
html[data-perf-mode='lite'] .app-nav-live,
html[data-perf-mode='lite'] .shell-chip {
  transition-duration: 0.12s;
}
