/* [next]/internal/font/google/instrument_serif_2c398422.module.css [app-client] (css) */
@font-face {
  font-family: Instrument Serif;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/ccf27e5a7366fb23-s.262b87c4.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Instrument Serif;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/e41d5df559864f9e-s.p.380d09ea.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Instrument Serif Fallback;
  src: local(Times New Roman);
  ascent-override: 117.94%;
  descent-override: 36.93%;
  line-gap-override: 0.0%;
  size-adjust: 83.94%;
}

.instrument_serif_2c398422-module__pOELkq__className {
  font-family: Instrument Serif, Instrument Serif Fallback;
  font-style: normal;
  font-weight: 400;
}

.instrument_serif_2c398422-module__pOELkq__variable {
  --font-instrument-serif: "Instrument Serif", "Instrument Serif Fallback";
}

/* [next]/internal/font/google/geist_a71539c9.module.css [app-client] (css) */
@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/8a480f0b521d4e75-s.8e0177b5.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/7178b3e590c64307-s.b97b3418.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/caa3a2e1cccd8315-s.p.853070df.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Geist Fallback;
  src: local(Arial);
  ascent-override: 95.94%;
  descent-override: 28.16%;
  line-gap-override: 0.0%;
  size-adjust: 104.76%;
}

.geist_a71539c9-module__T19VSG__className {
  font-family: Geist, Geist Fallback;
  font-style: normal;
}

.geist_a71539c9-module__T19VSG__variable {
  --font-geist-sans: "Geist", "Geist Fallback";
}

/* [next]/internal/font/google/geist_mono_8d43a2aa.module.css [app-client] (css) */
@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/4fa387ec64143e14-s.c1fdd6c2.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/bbc41e54d2fcbd21-s.799d8ef8.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/797e433ab948586e-s.p.dbea232f.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Geist Mono Fallback;
  src: local(Arial);
  ascent-override: 74.67%;
  descent-override: 21.92%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.geist_mono_8d43a2aa-module__8Li5zG__className {
  font-family: Geist Mono, Geist Mono Fallback;
  font-style: normal;
}

.geist_mono_8d43a2aa-module__8Li5zG__variable {
  --font-geist-mono: "Geist Mono", "Geist Mono Fallback";
}

/* [project]/node_modules/@antikythera-systems/design-system/src/styles.css [app-client] (css) */
:root, [data-theme="light"] {
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  --clr-yellow: #e6fc4f;
  --clr-dark: #1c1c1c;
  --clr-black: #111;
  --clr-white: #fff;
  --clr-bg-light: #f4f5f7;
  --clr-border: #e0e0e0;
  --clr-border-dark: #333;
  --bg: #f4f5f7;
  --bg2: #eceef1;
  --bg-panel: #fff;
  --bg-panel-muted: #f8f9fb;
  --text: #1c1c1c;
  --text2: #333;
  --muted: #6b6b6b;
  --muted2: #9b9b9b;
  --line: #e0e0e0;
  --line-input: #ccc;
  --accent: #e6fc4f;
  --accent-fg: #111;
  --accent2: #d4ea3d;
  --accent-weak: #e6fc4f2e;
  --shadow: none;
  --font-sans: var(--font-geist-sans), -apple-system, BlinkMacSystemFont, "San Francisco", "Helvetica Neue", Inter, sans-serif;
  --font-serif: var(--font-instrument-serif), Georgia, serif;
  --font-mono: var(--font-geist-mono), ui-monospace, "SF Mono", monospace;
  --type-micro: 10px;
  --track-micro: .1em;
  --weight-micro: 600;
  --type-display: 48px;
  --track-display: -.02em;
  --weight-display: 300;
  --type-base: 13px;
  --type-h: 24px;
  --weight-h: 400;
  --radius: 4px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --badge-critical-bg: #dc262614;
  --badge-critical-fg: #b91c1c;
  --badge-critical-border: #dc26262e;
  --badge-high-bg: #ea580c14;
  --badge-high-fg: #c2410c;
  --badge-high-border: #ea580c2e;
  --badge-medium-bg: #a1750e14;
  --badge-medium-fg: #92400e;
  --badge-medium-border: #a1750e2e;
  --badge-low-bg: #16653414;
  --badge-low-fg: #166534;
  --badge-low-border: #1665342e;
  --badge-neutral-bg: #6b6b6b14;
  --badge-neutral-fg: #4b4b4b;
  --badge-neutral-border: #6b6b6b26;
  --badge-info-bg: #2563eb14;
  --badge-info-fg: #1d4ed8;
  --badge-info-border: #2563eb2e;
  --badge-success-bg: #16653414;
  --badge-success-fg: #166534;
  --badge-success-border: #1665342e;
  --badge-progress-bg: #a1750e14;
  --badge-progress-fg: #92400e;
  --badge-progress-border: #a1750e2e;
  --badge-blocked-bg: #7e22ce14;
  --badge-blocked-fg: #6b21a8;
  --badge-blocked-border: #7e22ce26;
  --color-success: #166534;
  --color-danger: #b91c1c;
  --color-warn: #92400e;
  --color-urgent: #b45309;
  --sidebar-bg: #fff;
  --nav-hover-bg: #0000000a;
  --card-hover-shadow: none;
  --tabs-active-border: #1c1c1c;
}

[data-theme="dark"] {
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
  --bg: #111;
  --bg2: #1a1a1a;
  --bg-panel: #1c1c1c;
  --bg-panel-muted: #161616;
  --text: #fff;
  --text2: #e0e0e0;
  --muted: #888;
  --muted2: #666;
  --line: #333;
  --line-input: #404040;
  --accent: #e6fc4f;
  --accent-fg: #111;
  --accent2: #d4ea3d;
  --accent-weak: #e6fc4f1f;
  --shadow: none;
  --badge-critical-bg: #dc262629;
  --badge-critical-fg: #fca5a5;
  --badge-critical-border: #dc262647;
  --badge-high-bg: #ea580c29;
  --badge-high-fg: #fdba74;
  --badge-high-border: #ea580c47;
  --badge-medium-bg: #eab30829;
  --badge-medium-fg: #fde047;
  --badge-medium-border: #eab30847;
  --badge-low-bg: #34d39924;
  --badge-low-fg: #6ee7b7;
  --badge-low-border: #34d3993d;
  --badge-neutral-bg: #9ca3af1f;
  --badge-neutral-fg: #d1d5db;
  --badge-neutral-border: #9ca3af38;
  --badge-info-bg: #60a5fa24;
  --badge-info-fg: #93c5fd;
  --badge-info-border: #60a5fa3d;
  --badge-success-bg: #34d39924;
  --badge-success-fg: #6ee7b7;
  --badge-success-border: #34d3993d;
  --badge-progress-bg: #fbbf2424;
  --badge-progress-fg: #fde68a;
  --badge-progress-border: #fbbf243d;
  --badge-blocked-bg: #c084fc24;
  --badge-blocked-fg: #d8b4fe;
  --badge-blocked-border: #c084fc38;
  --color-success: #6ee7b7;
  --color-danger: #fca5a5;
  --color-warn: #fde68a;
  --color-urgent: #fbbf24;
  --sidebar-bg: #1c1c1c;
  --nav-hover-bg: #ffffff0f;
  --card-hover-shadow: none;
  --tabs-active-border: var(--accent);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --lightningcss-light: ;
    --lightningcss-dark: initial;
    color-scheme: dark;
    --bg: #111;
    --bg2: #1a1a1a;
    --bg-panel: #1c1c1c;
    --bg-panel-muted: #161616;
    --text: #fff;
    --text2: #e0e0e0;
    --muted: #888;
    --muted2: #666;
    --line: #333;
    --line-input: #404040;
    --accent: #e6fc4f;
    --accent-fg: #111;
    --accent2: #d4ea3d;
    --accent-weak: #e6fc4f1f;
    --badge-critical-bg: #dc262629;
    --badge-critical-fg: #fca5a5;
    --badge-critical-border: #dc262647;
    --badge-high-bg: #ea580c29;
    --badge-high-fg: #fdba74;
    --badge-high-border: #ea580c47;
    --badge-medium-bg: #eab30829;
    --badge-medium-fg: #fde047;
    --badge-medium-border: #eab30847;
    --badge-low-bg: #34d39924;
    --badge-low-fg: #6ee7b7;
    --badge-low-border: #34d3993d;
    --badge-neutral-bg: #9ca3af1f;
    --badge-neutral-fg: #d1d5db;
    --badge-neutral-border: #9ca3af38;
    --badge-info-bg: #60a5fa24;
    --badge-info-fg: #93c5fd;
    --badge-info-border: #60a5fa3d;
    --badge-success-bg: #34d39924;
    --badge-success-fg: #6ee7b7;
    --badge-success-border: #34d3993d;
    --badge-progress-bg: #fbbf2424;
    --badge-progress-fg: #fde68a;
    --badge-progress-border: #fbbf243d;
    --badge-blocked-bg: #c084fc24;
    --badge-blocked-fg: #d8b4fe;
    --badge-blocked-border: #c084fc38;
    --color-success: #6ee7b7;
    --color-danger: #fca5a5;
    --color-warn: #fde68a;
    --color-urgent: #fbbf24;
    --sidebar-bg: #1c1c1c;
    --nav-hover-bg: #ffffff0f;
    --card-hover-shadow: none;
    --tabs-active-border: var(--accent);
  }
}

*, :before, :after {
  box-sizing: border-box;
}

html, body {
  min-height: 100%;
  margin: 0;
}

body {
  font-family: var(--font-sans);
  font-size: var(--type-base);
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.6;
}

h1, h2, h3, p {
  margin: 0;
}

.ui-card {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  min-width: 0;
  padding: 1.25rem;
  position: relative;
}

@media (max-width: 640px) {
  .ui-card {
    border-radius: var(--radius-md);
    padding: .875rem;
  }
}

.ui-label {
  font-size: var(--type-micro);
  font-weight: var(--weight-micro);
  letter-spacing: var(--track-micro);
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: .3rem;
  display: block;
}

.ui-input, .ui-textarea, .ui-select {
  border: 1px solid var(--line-input);
  border-radius: var(--radius-sm);
  background: var(--bg-panel);
  width: 100%;
  color: var(--text);
  font-family: var(--font-sans);
  font-size: var(--type-base);
  appearance: none;
  margin-top: .25rem;
  padding: .5rem .65rem;
  transition: border-color .1s, box-shadow .1s;
}

.ui-input::placeholder, .ui-textarea::placeholder {
  color: var(--muted2);
}

.ui-input:focus, .ui-textarea:focus, .ui-select:focus, .ui-button:focus-visible {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px var(--accent-weak);
  outline: none;
}

.ui-input:focus, .ui-textarea:focus {
  color: var(--accent-fg);
}

.ui-button {
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-family: var(--font-sans);
  white-space: nowrap;
  border: 1px solid #0000;
  align-items: center;
  gap: .375rem;
  font-weight: 500;
  text-decoration: none;
  transition: background .1s, opacity .1s, border-color .1s;
  display: inline-flex;
}

.ui-button:active:not(:disabled) {
  opacity: .85;
}

.ui-button:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.ui-button-size-default {
  font-size: var(--type-base);
  padding: .5rem .875rem;
}

.ui-button-size-sm {
  padding: .3rem .65rem;
  font-size: 12px;
}

.ui-button-default {
  background: var(--text);
  color: var(--bg-panel);
  border-color: var(--text);
}

.ui-button-default:hover {
  background: var(--text2);
  border-color: var(--text2);
}

.ui-button-secondary {
  background: var(--accent);
  color: var(--accent-fg);
  border-color: var(--accent);
}

.ui-button-secondary:hover {
  background: var(--accent2);
  border-color: var(--accent2);
}

.ui-button-ghost {
  color: var(--text2);
  border-color: var(--line-input);
  background: none;
}

.ui-button-ghost:hover {
  background: var(--bg2);
  border-color: var(--line-input);
}

.ui-button-danger {
  color: #dc2626;
  background: #fef2f2;
  border-color: #fecaca;
}

.ui-button-danger:hover {
  background: #fee2e2;
  border-color: #fca5a5;
}

[data-theme="dark"] .ui-button-danger {
  color: #fca5a5;
  background: #dc26261f;
  border-color: #dc262640;
}

[data-theme="dark"] .ui-button-danger:hover {
  background: #dc262633;
}

.ui-badge {
  border-radius: var(--radius-sm);
  background: var(--bg2);
  color: var(--text2);
  border: 1px solid var(--line);
  font-size: var(--type-micro);
  font-weight: var(--weight-micro);
  letter-spacing: var(--track-micro);
  text-transform: uppercase;
  white-space: nowrap;
  align-items: center;
  padding: .15rem .45rem;
  display: inline-flex;
}

.badge-critical {
  background: var(--badge-critical-bg);
  color: var(--badge-critical-fg);
  border-color: var(--badge-critical-border);
}

.badge-high {
  background: var(--badge-high-bg);
  color: var(--badge-high-fg);
  border-color: var(--badge-high-border);
}

.badge-medium {
  background: var(--badge-medium-bg);
  color: var(--badge-medium-fg);
  border-color: var(--badge-medium-border);
}

.badge-low {
  background: var(--badge-low-bg);
  color: var(--badge-low-fg);
  border-color: var(--badge-low-border);
}

.badge-info {
  background: var(--badge-info-bg);
  color: var(--badge-info-fg);
  border-color: var(--badge-info-border);
}

.badge-success {
  background: var(--badge-success-bg);
  color: var(--badge-success-fg);
  border-color: var(--badge-success-border);
}

.badge-progress {
  background: var(--badge-progress-bg);
  color: var(--badge-progress-fg);
  border-color: var(--badge-progress-border);
}

.badge-blocked {
  background: var(--badge-blocked-bg);
  color: var(--badge-blocked-fg);
  border-color: var(--badge-blocked-border);
}

.badge-neutral {
  background: var(--badge-neutral-bg);
  color: var(--badge-neutral-fg);
  border-color: var(--badge-neutral-border);
}

.badge-ok {
  background: var(--accent);
  color: var(--accent-fg);
  border-color: var(--accent2);
}

.badge-warn {
  background: var(--badge-progress-bg);
  color: var(--badge-progress-fg);
  border-color: var(--badge-progress-border);
}

.badge-err {
  background: var(--badge-critical-bg);
  color: var(--badge-critical-fg);
  border-color: var(--badge-critical-border);
}

.badge-blue {
  background: var(--badge-info-bg);
  color: var(--badge-info-fg);
  border-color: var(--badge-info-border);
}

.badge-orange {
  background: var(--badge-high-bg);
  color: var(--badge-high-fg);
  border-color: var(--badge-high-border);
}

.badge-pend {
  background: var(--badge-neutral-bg);
  color: var(--badge-neutral-fg);
  border-color: var(--badge-neutral-border);
}

.badge-purple {
  background: var(--badge-blocked-bg);
  color: var(--badge-blocked-fg);
  border-color: var(--badge-blocked-border);
}

.progress-bar-wrapper {
  flex-direction: column;
  gap: .3rem;
  width: 100%;
  display: flex;
}

.progress-bar-label-row {
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  display: flex;
}

.progress-bar-label {
  color: var(--text2);
  font-weight: 500;
}

.progress-bar-value {
  color: var(--muted);
  font-size: 11px;
}

.progress-bar-track {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: 2px;
  width: 100%;
  overflow: hidden;
}

.progress-bar-sm {
  height: 4px;
}

.progress-bar-md {
  height: 6px;
}

.progress-bar-fill {
  border-radius: 2px;
  height: 100%;
  transition: width .3s;
}

.progress-bar-red {
  background: #dc2626;
}

.progress-bar-yellow, .progress-bar-accent {
  background: var(--accent);
}

.progress-bar-green {
  background: #16a34a;
}

.ui-tooltip {
  display: inline-flex;
  position: relative;
}

.ui-tooltip:after {
  content: attr(data-tooltip);
  z-index: 600;
  border-radius: var(--radius-sm);
  background: var(--text);
  color: var(--bg-panel);
  font-size: 11px;
  font-family: var(--font-sans);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  padding: .25rem .5rem;
  line-height: 1.4;
  transition: opacity .12s;
  position: absolute;
}

.ui-tooltip:hover:after {
  opacity: 1;
}

.ui-toggle-wrapper {
  cursor: pointer;
  align-items: center;
  gap: .5rem;
  display: inline-flex;
}

.ui-toggle-disabled {
  opacity: .4;
  pointer-events: none;
}

.ui-toggle-track {
  background: var(--line-input);
  cursor: pointer;
  border: none;
  border-radius: 99px;
  padding: 0;
  transition: background .15s;
  position: relative;
}

.ui-toggle-md {
  width: 36px;
  height: 20px;
}

.ui-toggle-sm {
  width: 28px;
  height: 16px;
}

.ui-toggle-thumb {
  background: var(--bg-panel);
  border-radius: 50%;
  transition: transform .15s;
  position: absolute;
  top: 2px;
  left: 2px;
}

.ui-toggle-md .ui-toggle-thumb {
  width: 16px;
  height: 16px;
}

.ui-toggle-sm .ui-toggle-thumb {
  width: 12px;
  height: 12px;
}

.ui-toggle-active {
  background: var(--accent);
}

.ui-toggle-active .ui-toggle-thumb {
  transform: translateX(16px);
}

.ui-toggle-sm.ui-toggle-active .ui-toggle-thumb {
  transform: translateX(12px);
}

.ui-toggle-label {
  font-size: var(--type-base);
  color: var(--text2);
  -webkit-user-select: none;
  user-select: none;
}

.ui-spinner {
  border: 2px solid var(--line);
  border-top-color: currentColor;
  border-radius: 50%;
  animation: .6s linear infinite ui-spin;
  display: inline-block;
}

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

.ui-tabs {
  flex-direction: column;
  display: flex;
}

.ui-tabs-bar {
  border-bottom: 1px solid var(--line);
  gap: 0;
  display: flex;
}

.ui-tabs-tab {
  color: var(--muted);
  font-size: var(--type-base);
  cursor: pointer;
  background: none;
  border: none;
  border-bottom: 3px solid #0000;
  margin-bottom: -1px;
  padding: .75rem .875rem;
  font-weight: 400;
  transition: color .1s, border-color .1s;
}

.ui-tabs-tab:hover {
  color: var(--text);
}

.ui-tabs-tab-active {
  color: var(--text);
  border-bottom: 4px solid var(--tabs-active-border);
  font-weight: 500;
}

.ui-tabs-content {
  padding-top: 1rem;
}

.ui-toast-container {
  z-index: 700;
  pointer-events: none;
  flex-direction: column;
  gap: .5rem;
  display: flex;
  position: fixed;
  bottom: 1.25rem;
  right: 1.25rem;
}

.ui-toast {
  pointer-events: auto;
  border-radius: var(--radius-lg);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  align-items: flex-start;
  gap: .75rem;
  min-width: 280px;
  max-width: 380px;
  padding: .75rem 1rem;
  animation: .2s cubic-bezier(.16, 1, .3, 1) ui-toast-slide-in;
  display: flex;
  box-shadow: 0 4px 24px #0000001a;
}

.ui-toast-content {
  flex-direction: column;
  flex: 1;
  gap: .1rem;
  min-width: 0;
  display: flex;
}

.ui-toast-title {
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
}

.ui-toast-description {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.ui-toast-dismiss {
  border-radius: var(--radius-sm);
  width: 20px;
  height: 20px;
  color: var(--muted);
  cursor: pointer;
  background: none;
  border: none;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  padding: 0;
  font-size: 11px;
  transition: background .1s, color .1s;
  display: flex;
}

.ui-toast-dismiss:hover {
  background: var(--bg2);
  color: var(--text);
}

.ui-toast-success {
  border-left: 3px solid #16a34a;
}

.ui-toast-error {
  border-left: 3px solid #dc2626;
}

.ui-toast-info {
  border-left: 3px solid var(--accent);
}

@keyframes ui-toast-slide-in {
  from {
    opacity: 0;
    transform: translateX(100%);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* [project]/app/styles/admin-shell.css [app-client] (css) */
.admin-shell {
  grid-template-columns: 220px 1fr;
  min-height: 100vh;
  display: grid;
}

.admin-sidebar {
  border-right: 1px solid var(--line);
  background: var(--sidebar-bg);
  color: var(--text2);
  flex-direction: column;
  gap: 0;
  height: 100vh;
  padding: 1.25rem 0;
  display: flex;
  position: sticky;
  top: 0;
  overflow: hidden;
}

.admin-brand {
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: 6px;
  padding: 0 1rem 1.25rem;
  display: flex;
}

.admin-brand-word {
  font-family: var(--font-sans);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--text);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}

.admin-brand-sup {
  font-family: var(--font-sans);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--accent-fg);
  background: var(--accent);
  border-radius: 3px;
  padding: 2px 5px;
  font-size: 9px;
  font-weight: 600;
}

.admin-nav {
  flex-direction: column;
  flex-shrink: 1;
  gap: 0;
  min-height: 0;
  margin-top: 1rem;
  padding: 0 .75rem;
  display: flex;
  overflow-y: auto;
}

.admin-nav-group {
  border-bottom: 1px solid var(--line);
  flex-direction: column;
  gap: 1px;
  margin-bottom: .25rem;
  padding-bottom: .5rem;
  display: flex;
}

.admin-nav-group:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.admin-nav-group-label {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text3);
  -webkit-user-select: none;
  user-select: none;
  padding: .6rem .5rem .25rem;
  font-size: .62rem;
  font-weight: 600;
}

.admin-nav-link {
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  color: var(--muted);
  font-size: var(--type-base);
  letter-spacing: 0;
  border: none;
  border-left: 2px solid #0000;
  align-items: center;
  gap: .5rem;
  margin-left: -.75rem;
  padding: .45rem .75rem .45rem calc(.75rem - 2px);
  font-weight: 400;
  text-decoration: none;
  transition: background .1s, color .1s, border-color .1s;
  display: flex;
}

.admin-nav-link:hover {
  background: var(--nav-hover-bg);
  color: var(--text);
}

.admin-nav-link.active {
  border-left-color: var(--accent);
  background: var(--accent-weak);
  color: var(--text);
  font-weight: 500;
}

.admin-nav-link.active .nav-dot {
  background: var(--accent);
}

.nav-dot {
  background: var(--muted2);
  border-radius: 50%;
  flex-shrink: 0;
  width: 4px;
  height: 4px;
  transition: background .1s;
}

.nav-icon {
  width: 15px;
  height: 15px;
  color: var(--muted2);
  flex-shrink: 0;
  transition: color .1s;
}

.admin-nav-link.active .nav-icon, .admin-nav-link:hover .nav-icon {
  color: var(--text);
}

.admin-nav-link--disabled {
  opacity: .4;
  cursor: default;
  pointer-events: none;
}

.nav-coming-soon {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted2);
  background: var(--nav-hover-bg);
  border-radius: 3px;
  margin-left: auto;
  padding: 1px 5px;
  font-size: .6rem;
  font-weight: 600;
  line-height: 1.6;
}

.admin-main-wrap {
  background: var(--bg);
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.admin-main {
  width: 100%;
  max-width: 1200px;
  padding: 1.75rem 2rem;
}

.admin-main:has(.dash-root) {
  max-width: none;
  padding: 0;
}

.workspace-selector-wrap {
  margin: .75rem .75rem 0;
  position: relative;
}

.workspace-selector {
  cursor: pointer;
  background: none;
  border: 0;
  align-items: center;
  gap: .5rem;
  width: 100%;
  min-width: 0;
  padding: 0 0 .7rem;
  transition: color .1s;
  display: flex;
}

.workspace-selector:hover {
  color: var(--text);
}

.workspace-selector-name {
  color: var(--text);
  white-space: nowrap;
  text-overflow: ellipsis;
  text-align: left;
  flex: 1;
  font-size: 12px;
  font-weight: 600;
  overflow: hidden;
}

.workspace-avatar {
  border-radius: var(--radius-sm);
  background: var(--accent);
  width: 20px;
  height: 20px;
  color: var(--clr-white);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: 9px;
  font-weight: 700;
  display: flex;
}

.workspace-avatar-sm {
  width: 16px;
  height: 16px;
  font-size: 8px;
}

.workspace-chevron {
  color: var(--muted);
  flex-shrink: 0;
  transition: transform .14s, color .1s;
}

.workspace-selector:hover .workspace-chevron, .workspace-selector-open .workspace-chevron {
  color: var(--text);
}

.workspace-chevron-open {
  transform: rotate(180deg);
}

.workspace-selector-divider {
  background: var(--line);
  height: 1px;
}

.workspace-check {
  color: var(--accent);
  flex-shrink: 0;
}

.workspace-dropdown {
  z-index: 400;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  width: 100%;
  padding: .25rem 0;
  position: absolute;
  top: calc(100% + .35rem);
  left: 0;
  overflow: hidden;
  box-shadow: 0 8px 32px #0000001a;
}

.workspace-sep {
  background: var(--line);
  height: 1px;
  margin: .25rem 0;
}

.workspace-item {
  font-size: var(--type-base);
  color: var(--text2);
  cursor: pointer;
  align-items: center;
  gap: .5rem;
  padding: .45rem .75rem;
  list-style: none;
  transition: background 80ms;
  display: flex;
}

.workspace-item:hover {
  background: var(--bg2);
}

.workspace-item-name {
  font-size: var(--type-base);
  flex: 1;
}

.workspace-dropdown-action {
  padding: .5rem .75rem .25rem;
  list-style: none;
}

.workspace-dropdown-button {
  justify-content: center;
  width: 100%;
  text-decoration: none;
}

.admin-sidebar-user {
  border-top: 1px solid var(--line);
  align-items: center;
  gap: .5rem;
  margin-top: auto;
  padding: .85rem 1rem 0;
  display: flex;
}

.admin-user-avatar {
  background: var(--text);
  width: 26px;
  height: 26px;
  color: var(--bg-panel);
  letter-spacing: 0;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: 10px;
  font-weight: 700;
  display: flex;
}

.admin-user-info {
  flex-direction: column;
  flex: 1;
  gap: 1px;
  min-width: 0;
  display: flex;
}

.admin-user-name {
  color: var(--text);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 12px;
  font-weight: 500;
  overflow: hidden;
}

.admin-user-org {
  color: var(--muted);
  white-space: nowrap;
  text-overflow: ellipsis;
  letter-spacing: .01em;
  font-size: 10px;
  overflow: hidden;
}

.admin-logout-btn {
  border-radius: var(--radius-sm);
  border: 1px solid var(--line);
  width: 24px;
  height: 24px;
  color: var(--muted);
  cursor: pointer;
  background: none;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  transition: background .1s, color .1s, border-color .1s;
  display: flex;
}

.admin-logout-btn:hover {
  background: var(--bg2);
  color: var(--text);
  border-color: var(--line-input);
}

@media (max-width: 880px) {
  .admin-shell {
    grid-template-columns: 1fr;
  }

  .admin-sidebar {
    border-right: none;
    border-bottom: 1px solid var(--line);
    height: auto;
    padding: .75rem;
    position: static;
  }

  .admin-nav {
    flex-flow: wrap;
    gap: 0;
    margin-top: .5rem;
    padding: 0;
  }

  .admin-nav-group {
    border-bottom: none;
    flex-flow: wrap;
    gap: 2px;
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .admin-nav-group-label {
    display: none;
  }

  .admin-nav-link {
    border-bottom: 2px solid #0000;
    border-left: none;
    border-radius: 0;
    margin-left: 0;
    padding: .3rem .5rem;
  }

  .admin-nav-link.active {
    border-left-color: #0000;
    border-bottom-color: var(--accent);
  }

  .nav-dot {
    display: none;
  }
}

/* [project]/app/styles/layout.css [app-client] (css) */
.page-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: .8rem;
  margin-bottom: 1.5rem;
  display: flex;
}

.page-title {
  font-family: var(--font-serif);
  letter-spacing: -.025em;
  color: var(--text);
  font-size: 1.9rem;
  font-weight: 400;
  line-height: 1.1;
}

.page-description {
  color: var(--muted);
  margin-top: .3rem;
  font-size: .9rem;
  font-weight: 300;
}

.page-actions {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.page-subheader {
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.grid {
  gap: 1rem;
  display: grid;
}

.cards {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.admin-kpi-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
  display: grid;
}

.admin-form-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .75rem;
  display: grid;
}

.row {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.stack {
  flex-direction: column;
  gap: .75rem;
  display: flex;
}

.stack-lg {
  flex-direction: column;
  gap: 1.5rem;
  display: flex;
}

.muted {
  color: var(--muted);
  font-size: .875rem;
}

h2 {
  font-family: var(--font-serif);
  letter-spacing: -.02em;
  color: var(--text);
  font-size: 1.25rem;
  font-weight: 400;
}

.kpi-label, .dash-kpi-label, .kpi-strip-label {
  font-family: var(--font-mono);
  color: var(--muted);
  text-transform: uppercase;
}

.kpi-label {
  letter-spacing: .06em;
  font-size: .78rem;
}

.dash-kpi-label {
  letter-spacing: .04em;
  margin-top: .3rem;
  font-size: .72rem;
}

.kpi-strip-label {
  letter-spacing: .1em;
  margin-top: .2rem;
  font-size: 10px;
  font-weight: 600;
}

.kpi-value, .dash-kpi-value, .kpi-strip-value {
  color: var(--text);
  line-height: 1;
}

.kpi-value, .dash-kpi-value {
  font-family: var(--font-serif);
  letter-spacing: -.04em;
  font-size: 2rem;
  font-weight: 400;
}

.kpi-value {
  margin-top: .15rem;
  line-height: 1.1;
}

.kpi-strip-value {
  font-family: var(--font-sans);
  letter-spacing: -.02em;
  font-size: 26px;
  font-weight: 300;
}

.empty-state {
  text-align: center;
  background: var(--bg-panel);
  border: 1.5px dashed var(--line-input);
  border-radius: var(--radius-lg);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  padding: 4rem 2rem;
  display: flex;
}

.empty-state-icon {
  opacity: .3;
  margin-bottom: .25rem;
  font-size: 1.8rem;
}

.empty-state-title {
  font-family: var(--font-serif);
  letter-spacing: -.02em;
  color: var(--text);
  font-size: 1.1rem;
  font-weight: 400;
}

.empty-state-body {
  color: var(--muted);
  max-width: 320px;
  font-size: .875rem;
  font-weight: 300;
  line-height: 1.6;
}

.stats-strip {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  display: flex;
  overflow: hidden;
}

.stats-strip-item {
  border-right: 1px solid var(--line);
  flex: 1;
  padding: 1rem 1.4rem;
}

.stats-strip-item:last-child {
  border-right: none;
}

.card-actions {
  border-top: 1px solid var(--line);
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .25rem;
  padding-top: .75rem;
  padding-bottom: .75rem;
  padding-left: .75rem;
  display: flex;
}

.status-row {
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  display: flex;
}

.status-dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: 6px;
  height: 6px;
}

.status-dot-ok {
  background: var(--accent);
}

.status-dot-warn {
  background: var(--accent-warn);
  animation: 1.4s infinite dotPulse;
}

.status-dot-off {
  background: var(--muted2);
}

@keyframes dotPulse {
  0%, 100% {
    opacity: 1;
  }

  50% {
    opacity: .3;
  }
}

.detail-skeleton {
  font-family: var(--font-mono);
  color: var(--muted2);
  padding: 2rem 0;
  font-size: .85rem;
}

.mono {
  font-family: var(--font-mono);
  letter-spacing: .02em;
  font-size: .78rem;
}

.empty-state-actions {
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem;
  margin-top: .6rem;
  display: flex;
}

.empty-state-learn {
  background: var(--bg-panel-muted);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  text-align: left;
  flex-direction: column;
  gap: .2rem;
  max-width: 400px;
  margin-top: 1rem;
  padding: .65rem .85rem;
  display: flex;
}

.empty-state-learn-label {
  color: var(--text2);
  font-size: .78rem;
  font-weight: 600;
}

.empty-state-learn-desc {
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.5;
}

.empty-state-learn-link {
  color: var(--accent);
  margin-top: .15rem;
  font-size: .78rem;
  font-weight: 500;
  text-decoration: none;
}

.empty-state-learn-link:hover {
  text-decoration: underline;
}

@keyframes skeleton-shimmer {
  0% {
    background-position: -400px 0;
  }

  100% {
    background-position: 400px 0;
  }
}

.skeleton-bar {
  border-radius: var(--radius-sm);
  background: linear-gradient(90deg, var(--bg2) 25%, var(--line) 50%, var(--bg2) 75%);
  background-size: 800px 100%;
  animation: 1.4s ease-in-out infinite skeleton-shimmer;
}

.detail-skeleton {
  color: var(--muted2);
  padding: 2rem 0;
  font-size: 12px;
}

.detail-skeleton-wrap {
  flex-direction: column;
  gap: 1.25rem;
  padding: 1.5rem 0;
  display: flex;
}

.skeleton-row {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.skeleton-header {
  flex-direction: column;
  display: flex;
}

.skeleton-kpi-row {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  display: grid;
  overflow: hidden;
}

.skeleton-kpi {
  border-right: 1px solid var(--line);
  padding: 1rem 1.25rem;
}

.skeleton-kpi:last-child {
  border-right: none;
}

.skeleton-content {
  flex-direction: column;
  display: flex;
}

.list-skeleton-wrap {
  flex-direction: column;
  gap: .75rem;
  padding: 1rem 0;
  display: flex;
}

.skeleton-list-row {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  align-items: center;
  gap: .75rem;
  padding: .75rem 1rem;
  display: flex;
}

.kpi-strip {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0;
  display: grid;
  overflow: hidden;
}

.kpi-strip-card {
  border-right: 1px solid var(--line);
  flex-direction: column;
  gap: .15rem;
  padding: 1rem 1.25rem;
  display: flex;
}

.kpi-strip-card:last-child {
  border-right: none;
}

.badge-critical {
  background: var(--badge-critical-bg);
  color: var(--badge-critical-fg);
  border-color: var(--badge-critical-border);
}

.badge-high {
  background: var(--badge-high-bg);
  color: var(--badge-high-fg);
  border-color: var(--badge-high-border);
}

.badge-medium {
  background: var(--badge-medium-bg);
  color: var(--badge-medium-fg);
  border-color: var(--badge-medium-border);
}

.badge-low {
  background: var(--badge-low-bg);
  color: var(--badge-low-fg);
  border-color: var(--badge-low-border);
}

.badge-neutral {
  background: var(--badge-neutral-bg);
  color: var(--badge-neutral-fg);
  border-color: var(--badge-neutral-border);
}

.badge-info {
  background: var(--badge-info-bg);
  color: var(--badge-info-fg);
  border-color: var(--badge-info-border);
}

.badge-success {
  background: var(--badge-success-bg);
  color: var(--badge-success-fg);
  border-color: var(--badge-success-border);
}

.badge-progress {
  background: var(--badge-progress-bg);
  color: var(--badge-progress-fg);
  border-color: var(--badge-progress-border);
}

.badge-blocked {
  background: var(--badge-blocked-bg);
  color: var(--badge-blocked-fg);
  border-color: var(--badge-blocked-border);
}

.alert-stack {
  gap: .35rem;
  display: grid;
}

.alert-item {
  border-radius: var(--radius);
  border-left-style: solid;
  border-left-width: 4px;
  align-items: center;
  gap: .5rem;
  padding: .55rem .75rem;
  font-size: .85rem;
  line-height: 1.4;
  display: flex;
}

.alert-dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: 7px;
  height: 7px;
}

.alert-error {
  background: #fdf2f0;
  border: 1px solid #e8c5be;
  border-left: 4px solid #c7501a;
}

.alert-error .alert-dot {
  background: #c7501a;
}

.alert-error .alert-message {
  color: #7a2a10;
}

.alert-warn {
  background: #fdf8f0;
  border: 1px solid #e8dcc5;
  border-left: 4px solid #a06000;
}

.alert-warn .alert-dot {
  background: #a06000;
}

.alert-warn .alert-message {
  color: #6b4500;
}

.alert-info {
  background: var(--bg-panel-muted);
  border: 1px solid var(--line);
  border-left: 4px solid var(--muted2);
}

.alert-info .alert-dot {
  background: var(--muted2);
}

.alert-message {
  color: var(--text2);
  flex: 1;
}

.alert-action {
  color: var(--text);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  cursor: pointer;
  white-space: nowrap;
  padding: .25rem .6rem;
  font-size: .8rem;
  font-weight: 600;
  text-decoration: none;
}

.alert-action:hover {
  background: var(--bg2);
  text-decoration: none;
}

:root, [data-theme="light"] {
  --ticket-warn-bg: #fff0cc;
  --ticket-warn-fg: #6b3a00;
  --ticket-warn-border: #d4a030;
  --ticket-ok-bg: #d8f3e3;
  --ticket-ok-fg: #125230;
  --ticket-ok-border: #6db88a;
  --ticket-err-bg: #fcdcdc;
  --ticket-err-fg: #841408;
  --ticket-err-border: #d07070;
  --ticket-blue-bg: #daeaf8;
  --ticket-blue-fg: #0d3d80;
  --ticket-blue-border: #6098cc;
  --badge-ok-fg: #3a6b00;
  --badge-ok-border: #6aaa10;
}

[data-theme="dark"] {
  --ticket-warn-bg: #eab3082e;
  --ticket-warn-fg: #fcd34d;
  --ticket-warn-border: #eab30866;
  --ticket-ok-bg: #34d39929;
  --ticket-ok-fg: #6ee7b7;
  --ticket-ok-border: #34d3995c;
  --ticket-err-bg: #dc26262e;
  --ticket-err-fg: #fca5a5;
  --ticket-err-border: #dc262666;
  --ticket-blue-bg: #60a5fa29;
  --ticket-blue-fg: #93c5fd;
  --ticket-blue-border: #60a5fa5c;
  --badge-ok-fg: #e6fc4f;
  --badge-ok-border: #d4ea3d;
}

.ui-badge-ticket.badge-pend {
  background: var(--bg2);
  color: var(--muted);
  border-color: var(--line-input);
}

.ui-badge-ticket.badge-warn {
  background: var(--ticket-warn-bg);
  color: var(--ticket-warn-fg);
  border-color: var(--ticket-warn-border);
}

.ui-badge-ticket.badge-ok {
  background: var(--ticket-ok-bg);
  color: var(--ticket-ok-fg);
  border-color: var(--ticket-ok-border);
}

.ui-badge-ticket.badge-err {
  background: var(--ticket-err-bg);
  color: var(--ticket-err-fg);
  border-color: var(--ticket-err-border);
}

.ui-badge-ticket.badge-blue {
  background: var(--ticket-blue-bg);
  color: var(--ticket-blue-fg);
  border-color: var(--ticket-blue-border);
}

.ui-badge-run {
  background: none;
  border: 1px solid;
  font-weight: 500;
}

.ui-badge-run.badge-pend {
  color: #8a7e70;
  border-color: #c5bdb2;
}

.ui-badge-run.badge-warn {
  color: #a06000;
  border-color: #d4a94e;
}

.ui-badge-run.badge-blue {
  color: #a3c0db;
  border-color: #7db5e0;
}

.ui-badge-run.badge-ok {
  color: var(--badge-ok-fg);
  border-left-color: var(--badge-ok-border);
}

.ui-badge-run.badge-err {
  color: #a0301a;
  border-color: #d48070;
}

.ui-badge-run.badge-orange {
  color: #8a5a00;
  border-color: #d4a94e;
}

.ui-badge-approval {
  border-radius: 0 var(--radius) var(--radius) 0;
  background: none;
  border-left: 3px solid;
  padding-left: .45rem;
}

.ui-badge-approval.badge-ok {
  color: var(--badge-ok-fg);
  border-left-color: var(--badge-ok-border);
}

.ui-badge-approval.badge-err {
  color: #a0301a;
  border-left-color: #c7501a;
}

.ui-badge-approval.badge-orange {
  color: #8a5a00;
  border-left-color: #d4a94e;
}

@media (max-width: 640px) {
  .kpi-strip {
    grid-template-columns: repeat(2, 1fr);
  }

  .kpi-strip-card:nth-child(2n) {
    border-right: none;
  }

  .kpi-strip-card:nth-child(n+3) {
    border-top: 1px solid var(--line);
  }

  .skeleton-kpi-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* [project]/app/styles/modal.css [app-client] (css) */
.modal-overlay {
  z-index: 500;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background: #1a181485;
  justify-content: center;
  align-items: center;
  padding: 1.25rem;
  animation: .14s overlayFadeIn;
  display: flex;
  position: fixed;
  inset: 0;
}

.modal-box {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  width: 100%;
  max-height: 90vh;
  animation: .2s cubic-bezier(.16, 1, .3, 1) modalSlideUp;
  overflow-y: auto;
  box-shadow: 0 16px 64px #1a181438, 0 2px 8px #1a18141a;
}

.modal-header {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  padding: 1.1rem 1.4rem;
  display: flex;
}

.modal-title {
  font-family: var(--font-serif);
  letter-spacing: -.02em;
  color: var(--text);
  font-size: 1.15rem;
  font-weight: 400;
}

.modal-close {
  border: 1px solid var(--line);
  width: 28px;
  height: 28px;
  color: var(--muted);
  cursor: pointer;
  background: none;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 0;
  font-size: 14px;
  line-height: 1;
  transition: background .14s, color .14s, border-color .14s;
  display: flex;
}

.modal-close:hover {
  background: var(--bg2);
  color: var(--text);
  border-color: var(--line-input);
}

.modal-body {
  flex-direction: column;
  gap: 1rem;
  padding: 1.4rem;
  display: flex;
}

.modal-footer {
  border-top: 1px solid var(--line);
  background: var(--bg-panel-muted);
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  justify-content: flex-end;
  gap: .5rem;
  padding: .9rem 1.4rem;
  display: flex;
}

@keyframes overlayFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes modalSlideUp {
  from {
    opacity: 0;
    transform: translateY(16px)scale(.98);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

/* [project]/app/styles/projects.css [app-client] (css) */
.github-pill {
  font-family: var(--font-mono);
  background: var(--bg2);
  border: 1px solid var(--line);
  color: var(--text2);
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 6px;
  align-items: center;
  gap: .35rem;
  min-width: 0;
  max-width: 100%;
  padding: .18rem .55rem;
  font-size: .75rem;
  display: inline-flex;
  overflow: hidden;
}

.github-pill.connected {
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  border-color: color-mix(in srgb, var(--accent) 35%, transparent);
  color: var(--accent2);
  text-decoration: none;
  transition: background .14s, border-color .14s;
}

a.github-pill.connected:hover {
  background: color-mix(in srgb, var(--accent) 20%, transparent);
  border-color: color-mix(in srgb, var(--accent) 50%, transparent);
}

.ticket-list {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  flex-direction: column;
  display: flex;
  overflow: hidden;
}

.ticket-row {
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: .75rem;
  padding: .75rem 1.1rem;
  transition: background .12s;
  display: flex;
}

.ticket-row:last-child {
  border-bottom: none;
}

.ticket-row:hover {
  background: var(--bg-panel-muted);
}

.ticket-ext-id {
  font-family: var(--font-mono);
  color: var(--muted);
  flex-shrink: 0;
  min-width: 72px;
  font-size: .75rem;
}

.ticket-title {
  color: var(--text);
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  font-size: .875rem;
  overflow: hidden;
}

.ticket-meta {
  flex-shrink: 0;
  align-items: center;
  gap: .4rem;
  margin-left: auto;
  display: flex;
}

.overview-cols {
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 1.5rem;
  display: grid;
}

.proj-grid {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1rem;
  display: grid;
}

.proj-card {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  flex-direction: column;
  transition: box-shadow .2s, border-color .2s, transform .2s;
  display: flex;
  position: relative;
  overflow: hidden;
}

.proj-card:before {
  content: "";
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
  opacity: 0;
  height: 2px;
  transition: opacity .25s;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.proj-card:hover {
  border-color: var(--line-input);
  transform: translateY(-2px);
  box-shadow: 0 4px 28px #1a18141a;
}

.proj-card:hover:before {
  opacity: .5;
}

.proj-card-main {
  color: inherit;
  flex-direction: column;
  flex: 1;
  gap: .5rem;
  min-height: 0;
  padding: 1.1rem 1.1rem .75rem;
  text-decoration: none;
  display: flex;
}

.proj-card-top {
  justify-content: space-between;
  align-items: flex-start;
  gap: .5rem;
  display: flex;
}

.proj-card-name {
  letter-spacing: -.01em;
  color: var(--text);
  font-size: .95rem;
  font-weight: 600;
  line-height: 1.3;
}

.proj-card-slug {
  color: var(--muted);
  margin-top: -.1rem;
}

.proj-card-desc {
  color: var(--muted);
  flex: 1;
  font-size: .875rem;
  line-height: 1.55;
}

.proj-card-actions {
  border-top: 1px solid var(--line);
  background: var(--bg-panel-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  padding: .65rem .9rem;
  display: flex;
}

.breadcrumb {
  align-items: center;
  gap: .4rem;
  font-size: .8rem;
  display: flex;
}

.breadcrumb-back {
  color: var(--muted);
  font-size: .8rem;
  text-decoration: none;
  transition: color .1s;
}

.breadcrumb-back:hover {
  color: var(--text);
}

.breadcrumb-sep {
  color: var(--muted2);
}

.breadcrumb-current {
  color: var(--text);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .8rem;
  font-weight: 500;
  overflow: hidden;
}

.detail-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  display: flex;
}

.detail-header-left {
  flex: 1;
  min-width: 0;
}

.detail-header-name {
  font-family: var(--font-serif);
  letter-spacing: -.03em;
  color: var(--text);
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.1;
}

.detail-header-desc {
  color: var(--muted);
  max-width: 560px;
  margin-top: .5rem;
  font-size: .9rem;
  font-weight: 300;
  line-height: 1.6;
}

.detail-header-actions {
  flex-shrink: 0;
  align-items: center;
  gap: .4rem;
  padding-top: .25rem;
  display: flex;
}

.sync-msg {
  color: var(--muted2);
  font-size: .75rem;
}

.detail-info-row {
  flex-wrap: wrap;
  gap: 1rem;
  display: flex;
}

.detail-info-card {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  flex-direction: column;
  flex: 1;
  gap: .6rem;
  min-width: 260px;
  max-width: 420px;
  padding: 1rem 1.2rem;
  display: flex;
}

.detail-info-card-header {
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.detail-info-card-title {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
  font-size: .75rem;
}

.github-import-section {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.import-error {
  color: var(--danger, #e05c5c);
  background: color-mix(in srgb, var(--danger, #e05c5c) 10%, transparent);
  border-radius: 4px;
  padding: .3rem .5rem;
  font-size: .82rem;
}

.form-divider {
  background: var(--border);
  height: 1px;
  margin: .25rem 0;
}

.workspace-new-icon {
  color: var(--muted2);
  flex-shrink: 0;
}

/* [project]/app/styles/tickets.css [app-client] (css) */
.filters-bar {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  padding: .75rem 1rem;
  display: flex;
}

.filters-bar-label {
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted);
  flex-shrink: 0;
  font-size: .75rem;
}

.filters-bar-inputs {
  flex-wrap: wrap;
  flex: 1;
  gap: .5rem;
}

.filters-bar-right {
  flex-shrink: 0;
  align-items: center;
  gap: .75rem;
}

.filters-count {
  color: var(--muted2);
  font-size: .78rem;
}

.filters-bar-select {
  max-width: 160px;
}

.filters-bar-search {
  max-width: 220px;
}

.filters-bar .ui-select {
  margin-top: 0;
}

.view-toggle {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  gap: .2rem;
  padding: .2rem;
  display: flex;
}

.view-toggle-btn {
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-size: var(--type-base);
  font-weight: 500;
  font-family: var(--font-sans);
  color: var(--muted);
  background: none;
  border: none;
  align-items: center;
  gap: .35rem;
  padding: .3rem .75rem;
  line-height: 1;
  transition: background .1s, color .1s;
  display: flex;
}

.view-toggle-btn:hover:not(.active) {
  color: var(--text2);
}

.view-toggle-btn.active {
  background: var(--bg);
  color: var(--text);
  box-shadow: 0 1px 3px #00000012;
}

.task-table {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  flex-direction: column;
  display: flex;
  overflow: hidden;
}

.task-row-icon {
  opacity: .45;
  flex-shrink: 0;
  font-size: .9rem;
  line-height: 1;
}

.pagination-bar {
  justify-content: center;
  align-items: center;
  gap: 1rem;
  padding: .75rem 0;
  display: flex;
}

.pagination-btn {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--bg-panel);
  color: var(--fg);
  cursor: pointer;
  padding: .35rem .85rem;
  font-size: .8rem;
  transition: background .12s, color .12s;
}

.pagination-btn:hover:not(:disabled) {
  background: var(--bg-panel-muted);
}

.pagination-btn:disabled {
  opacity: .35;
  cursor: default;
}

.pagination-info {
  color: var(--muted);
  font-size: .8rem;
}

.task-detail-header {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .5rem;
}

.task-detail-meta {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
}

.task-detail-project {
  color: var(--muted);
  font-size: .78rem;
}

.task-detail-actions {
  gap: .4rem;
}

.chevron-icon {
  flex-shrink: 0;
  transition: transform .15s;
}

.chevron-icon.open {
  transform: rotate(180deg);
}

.task-row-wrap {
  border-bottom: 1px solid var(--line);
}

.task-row-wrap:last-child {
  border-bottom: none;
}

.task-row {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  gap: .75rem;
  padding: .8rem 1.1rem;
  transition: background .12s;
  display: flex;
}

.task-row:hover {
  background: var(--bg-panel-muted);
}

.task-row-chevron {
  color: var(--muted2);
  border-radius: var(--radius);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  margin-left: .25rem;
  transition: background .1s;
  display: flex;
}

.task-row:hover .task-row-chevron {
  background: var(--line);
}

.task-row-detail {
  background: var(--bg-panel-muted);
  border-top: 1px solid var(--line);
  flex-direction: column;
  gap: .75rem;
  padding: .85rem 1.1rem 1rem 2.8rem;
  display: flex;
}

.run-list {
  flex-direction: column;
  gap: .4rem;
  display: flex;
}

.run-row {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  padding: .55rem .8rem;
  display: flex;
}

.run-row-num {
  color: var(--muted2);
  min-width: 1rem;
  font-size: .72rem;
}

.run-row-model {
  color: var(--muted);
  flex: 1;
  font-size: .75rem;
}

.td-desc-card {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  padding: 1rem 1.2rem;
}

.td-section-label {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: .4rem;
  font-size: .72rem;
}

.td-desc-body {
  color: var(--text2);
  white-space: pre-wrap;
  font-size: .9rem;
  line-height: 1.65;
}

.td-run-card {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.td-run-header {
  border-bottom: 1px solid var(--line);
  background: var(--bg-panel-muted);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  padding: .85rem 1rem;
  display: flex;
}

.td-run-header-left {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.td-run-header-right {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.td-run-index {
  font-family: var(--font-mono);
  letter-spacing: .04em;
  color: var(--muted2);
  text-transform: uppercase;
  font-size: .72rem;
}

.td-log-toggle {
  border: 1px solid var(--line-input);
  font-family: var(--font-mono);
  color: var(--muted);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border-radius: 99px;
  padding: .2rem .65rem;
  font-size: .72rem;
  transition: border-color .14s, color .14s, background .14s;
}

.td-log-toggle:hover {
  background: var(--bg2);
  color: var(--text);
  border-color: var(--line-input);
}

.td-run-section {
  padding: .75rem 1rem 0;
}

.td-run-section:last-child {
  padding-bottom: .85rem;
}

.td-run-summary {
  color: var(--text2);
  margin: 0;
  font-size: .875rem;
  line-height: 1.65;
}

.td-run-summary p {
  margin: 0 0 .5em;
}

.td-run-summary p:last-child {
  margin-bottom: 0;
}

.td-run-summary ul, .td-run-summary ol {
  margin: .25em 0 .5em 1.25em;
  padding: 0;
}

.td-run-summary li {
  margin-bottom: .2em;
}

.td-run-summary h1, .td-run-summary h2, .td-run-summary h3, .td-run-summary h4, .td-run-summary h5, .td-run-summary h6 {
  color: var(--text);
  margin: .6em 0 .25em;
  font-size: .875rem;
  font-weight: 600;
}

.td-run-summary code {
  font-family: var(--font-mono);
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: 3px;
  padding: .1em .35em;
  font-size: .8em;
}

.td-run-summary pre {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin: .4em 0;
  padding: .6em .8em;
  overflow-x: auto;
}

.td-run-summary pre code {
  background: none;
  border: none;
  padding: 0;
  font-size: .8em;
}

.td-run-summary strong {
  color: var(--text);
  font-weight: 600;
}

.td-run-summary a {
  color: var(--accent);
  text-decoration: underline;
}

.td-run-summary blockquote {
  border-left: 3px solid var(--line);
  color: var(--muted);
  margin: .4em 0;
  padding: .1em .75em;
}

.td-tokens-row {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  gap: 0;
  display: flex;
  overflow: hidden;
}

.td-token-cell {
  border-right: 1px solid var(--line);
  flex-direction: column;
  flex: 1;
  gap: .1rem;
  padding: .5rem .85rem;
  display: flex;
}

.td-token-cell:last-child {
  border-right: none;
}

.td-token-label {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted2);
  font-size: .68rem;
}

.td-token-value {
  font-family: var(--font-mono);
  color: var(--text);
  font-size: .9rem;
  font-weight: 500;
}

.td-token-cost {
  color: var(--accent);
}

.td-pr-link {
  color: var(--accent);
  font-size: .85rem;
  font-weight: 500;
  text-decoration: none;
}

.td-pr-link:hover {
  text-decoration: underline;
}

.td-approval-row {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.hitl-question-panel {
  border-radius: var(--radius);
  background: #2a2118;
  border: 1px solid #c7501a44;
  flex-direction: column;
  gap: .3rem;
  padding: .6rem .8rem;
  display: flex;
}

.hitl-question-text {
  color: #e8622a;
  font-size: .82rem;
  font-weight: 600;
}

.hitl-question-context {
  color: #b0a89e;
  font-size: .75rem;
}

.hitl-options {
  flex-wrap: wrap;
  gap: .4rem;
  margin-top: .2rem;
  display: flex;
}

.hitl-option-badge {
  color: #e8622a;
  background: #c7501a22;
  border: 1px solid #c7501a55;
  border-radius: 4px;
  padding: .15rem .5rem;
  font-size: .72rem;
}

.hitl-answer-panel {
  background: var(--bg-panel);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  border: 1px solid #c7501a55;
  flex-direction: column;
  gap: .6rem;
  padding: 1rem 1.25rem;
  display: flex;
}

.hitl-answer-panel .hitl-question-text {
  color: var(--accent2);
  font-size: .95rem;
  font-weight: 600;
}

.hitl-answer-panel .hitl-question-context {
  color: var(--muted);
  font-size: .82rem;
}

.hitl-answer-panel .hitl-options {
  gap: .5rem;
}

.hitl-option-btn {
  background: var(--accent-weak);
  color: var(--accent2);
  border-radius: var(--radius);
  cursor: pointer;
  border: 1px solid #c7501a55;
  padding: .3rem .75rem;
  font-size: .8rem;
  transition: background .15s;
}

.hitl-option-btn:hover {
  background: #c7501a2a;
}

.hitl-answer-input {
  background: var(--bg2);
  border: 1px solid var(--line-input);
  border-radius: var(--radius);
  width: 100%;
  font-family: var(--font-sans);
  color: var(--text);
  resize: vertical;
  outline: none;
  padding: .5rem .75rem;
  font-size: .88rem;
  transition: border-color .15s;
}

.hitl-answer-input:focus {
  border-color: var(--accent);
}

.hitl-answer-actions {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.task-row-wrap.task-row-failed {
  border-left: 3px solid #d48070;
}

.task-row-error-summary {
  color: #a0301a;
  background: #fdf6f4;
  border-top: 1px solid #f0dcd7;
  padding: .3rem .85rem .45rem 2.2rem;
  font-size: .76rem;
  line-height: 1.4;
}

.task-row-retry {
  color: var(--accent-fg);
  border: 1px solid var(--accent-fg);
  cursor: pointer;
  border-radius: var(--radius);
  background: none;
  padding: .15rem .55rem;
  font-size: .76rem;
  font-weight: 500;
}

.task-row-retry:hover {
  background: var(--accent-weak);
}

.task-row-time {
  font-family: var(--font-mono);
  color: var(--muted2);
  white-space: nowrap;
  font-size: .72rem;
}

.task-row-viewlink {
  opacity: 0;
  flex-shrink: 0;
  transition: opacity .1s;
}

.task-row:hover .task-row-viewlink {
  opacity: 1;
}

.run-list-heading {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted2);
  padding-bottom: .15rem;
  font-size: .68rem;
}

@media (max-width: 880px) {
  .overview-cols {
    grid-template-columns: 1fr;
  }

  .stats-strip {
    flex-direction: column;
  }

  .stats-strip-item {
    border-right: none;
    border-bottom: 1px solid var(--line);
  }

  .stats-strip-item:last-child {
    border-bottom: none;
  }

  .task-row-detail {
    padding-left: 1.1rem;
  }
}

/* [project]/app/styles/run-log.css [app-client] (css) */
.run-log {
  border-radius: var(--radius);
  font-family: var(--font-mono);
  background: #1a1814;
  border: 1px solid #2e2b27;
  font-size: .75rem;
  overflow: hidden;
}

.run-log-header {
  background: #141210;
  border-bottom: 1px solid #2e2b27;
  align-items: center;
  gap: .5rem;
  padding: .4rem .75rem;
  display: flex;
}

.run-log-dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: 6px;
  height: 6px;
}

.run-log-dot-live {
  background: #28a05a;
  animation: 1.4s infinite dotPulse;
}

.run-log-dot-idle {
  background: #4a4540;
}

.run-log-title {
  color: #b0a89e;
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: .72rem;
}

.run-log-run-id {
  color: #4a4540;
  letter-spacing: .04em;
  margin-left: auto;
  font-size: .68rem;
}

.run-log-dismiss {
  color: #4a4540;
  cursor: pointer;
  background: none;
  border: 1px solid #2e2b27;
  border-radius: 4px;
  margin-left: .5rem;
  padding: .15rem .35rem;
  font-size: .65rem;
  line-height: 1;
  transition: color .14s, border-color .14s;
}

.run-log-dismiss:hover {
  color: #b0a89e;
  border-color: #4a4540;
}

.run-log-body {
  scrollbar-width: thin;
  scrollbar-color: #2e2b27 transparent;
  flex-direction: column;
  gap: .1rem;
  max-height: 280px;
  padding: .5rem .75rem;
  display: flex;
  overflow-y: auto;
}

.run-log-entry {
  white-space: pre-wrap;
  word-break: break-all;
  padding: .05rem 0;
  line-height: 1.5;
}

.run-log-text {
  color: #c8c2ba;
}

.run-log-tool {
  color: #fff;
}

.run-log-result {
  color: #4a4540;
}

.run-log-result-err {
  color: #dc2626;
}

.run-log-complete {
  color: #28a05a;
  border-top: 1px solid #2e2b27;
  margin-top: .25rem;
  padding-top: .35rem;
}

.run-log-complete-err {
  color: #dc2626;
}

.run-log-summary {
  color: #7a746c;
  white-space: pre-wrap;
  margin-top: .3rem;
  font-size: .72rem;
}

.td-diff-header {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.td-diff-stats {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.diff-stat-add {
  font-family: var(--font-mono);
  color: #2a9d5c;
  font-size: .72rem;
  font-weight: 600;
}

.diff-stat-del {
  font-family: var(--font-mono);
  color: #d94f4f;
  font-size: .72rem;
  font-weight: 600;
}

.diff-viewer {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  font-family: var(--font-mono);
  background: #1a1a18;
  margin-top: .5rem;
  font-size: .74rem;
  line-height: 1.5;
  overflow-x: auto;
}

.diff-line {
  white-space: pre;
  color: #c9c5be;
  padding: 0 .75rem;
  display: block;
}

.diff-line-add {
  color: #7fd4a0;
  background: #2a9d5c2e;
}

.diff-line-del {
  color: #e89090;
  background: #d94f4f2e;
}

.diff-line-hunk {
  color: #6eb4d4;
  background: #6eb4d414;
}

.diff-line-file {
  color: #d4b896;
  font-weight: 600;
}

.diff-line-meta {
  color: #888;
}

.diff-truncated {
  color: #888;
  font-style: italic;
  font-family: var(--font-mono);
  border-top: 1px solid #333;
  padding: .4rem .75rem;
  font-size: .72rem;
}

/* [project]/app/styles/dashboard.css [app-client] (css) */
.dash-root {
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
  max-width: 1200px;
  padding: 1.5rem;
  display: flex;
}

.dash-topbar {
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  display: flex;
}

.dash-heading {
  font-family: var(--font-serif);
  letter-spacing: -.03em;
  color: var(--text);
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.1;
}

.dash-subheading {
  color: var(--muted);
  margin-top: .25rem;
  font-size: .875rem;
  font-weight: 300;
}

.dash-kpi-row {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  display: grid;
  overflow: hidden;
}

.dash-kpi-card {
  border-right: 1px solid var(--line);
  border-left: 3px solid #0000;
  padding: .85rem 1.2rem;
  text-decoration: none;
  transition: background .1s;
  display: block;
}

.dash-kpi-card:last-child {
  border-right: none;
}

.dash-kpi-link:hover {
  background: var(--bg-hover, #00000006);
}

.dash-kpi-link:active {
  background: var(--bg-active, #0000000d);
}

.dash-kpi-urgent {
  background: #fffbf0;
  border-left-color: #a06000;
}

.dash-kpi-urgent:hover {
  background: #fff7e0;
}

.dash-kpi-warn {
  background: #fff8f5;
  border-left-color: #c7501a;
}

.dash-kpi-warn:hover {
  background: #fef0ea;
}

.dash-kpi-zero {
  opacity: .55;
}

.dash-kpi-value-zero {
  color: var(--muted2);
}

.dash-kpi-urgent .dash-kpi-value {
  color: #a06000;
}

.dash-kpi-warn .dash-kpi-value {
  color: #c7501a;
}

.dash-kpi-sub {
  color: var(--muted2);
  margin-top: .2rem;
  font-size: .78rem;
  font-weight: 300;
}

.dash-boards {
  flex-direction: column;
  gap: 1.25rem;
  display: flex;
}

.dash-board {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  transition: box-shadow .2s;
  overflow: hidden;
}

.dash-board:hover {
  box-shadow: 0 4px 24px #1a181414;
}

.dash-board-header {
  border-bottom: 1px solid var(--line);
  background: var(--bg-panel-muted);
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: .85rem 1.25rem .8rem;
  display: flex;
}

.dash-board-header-left {
  flex: 1;
  min-width: 0;
}

.dash-board-header-right {
  flex-shrink: 0;
  align-items: center;
  gap: .75rem;
  padding-top: .1rem;
  display: flex;
}

.dash-board-title-row {
  align-items: center;
  gap: .55rem;
  display: flex;
}

.dash-board-subtitle {
  align-items: baseline;
  gap: .5rem;
  margin-top: .2rem;
  padding-left: 1.85rem;
  display: flex;
}

.dash-board-dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
}

.dash-board-dot.dot-ok {
  background: #28a05a;
}

.dash-board-dot.dot-off {
  background: var(--muted2);
}

.dash-board-name {
  letter-spacing: -.02em;
  color: var(--text);
  font-size: 1rem;
  font-weight: 600;
}

.dash-board-slug {
  color: var(--muted2);
  font-size: .72rem;
}

.dash-board-desc {
  color: var(--muted);
  font-size: .8rem;
  font-weight: 300;
  line-height: 1.4;
}

.dash-board-count {
  font-family: var(--font-mono);
  color: var(--muted);
  letter-spacing: .02em;
  font-size: .75rem;
}

.dash-board-link {
  color: var(--accent-fg);
  letter-spacing: -.01em;
  white-space: nowrap;
  font-size: .82rem;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .14s;
}

.dash-board-link:hover {
  opacity: .7;
}

.dash-approval-banner {
  background: #fff7e6;
  border-bottom: 1px solid #fdd78a;
  align-items: center;
  gap: .6rem;
  padding: .55rem 1.25rem;
  display: flex;
}

.dash-approval-dot {
  background: #e59a00;
  border-radius: 50%;
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  animation: 1.4s infinite dotPulse;
}

.dash-approval-text {
  font-family: var(--font-mono);
  color: #8a6000;
  letter-spacing: .02em;
  font-size: .75rem;
}

.dash-board-meta {
  border-bottom: 1px solid var(--line);
  background: var(--bg-panel);
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem;
  padding: .7rem 1.25rem;
  display: flex;
}

.dash-progress-wrap {
  flex-shrink: 0;
  align-items: center;
  gap: .6rem;
  display: flex;
}

.dash-progress-track {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: 99px;
  width: 120px;
  height: 7px;
  overflow: hidden;
}

.dash-progress-fill {
  background: linear-gradient(90deg, #28a05a, #38b26a);
  border-radius: 99px;
  height: 100%;
  transition: width .4s;
}

.dash-progress-label {
  font-family: var(--font-mono);
  color: var(--muted);
  letter-spacing: .02em;
  white-space: nowrap;
  font-size: .72rem;
}

.dash-status-counts {
  flex-wrap: wrap;
  gap: .4rem;
  display: flex;
}

.dash-sc {
  font-family: var(--font-mono);
  letter-spacing: .03em;
  white-space: nowrap;
  border: 1px solid #0000;
  border-radius: 99px;
  padding: .18rem .55rem;
  font-size: .7rem;
}

.sc-open {
  background: var(--bg2);
  color: var(--muted);
  border-color: var(--line);
}

.sc-review {
  color: #a06000;
  background: #fff7e6;
  border-color: #fdd78a;
}

.sc-done {
  color: #1a8c4e;
  background: #e8f5ee;
  border-color: #b3ddc4;
}

.sc-fail {
  color: #dc2626;
  background: #fef2f2;
  border-color: #fecaca;
}

.dash-task-list {
  flex-direction: column;
  display: flex;
}

.dash-task-row {
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: .6rem;
  min-width: 0;
  padding: .62rem 1.25rem;
  transition: background .12s;
  display: flex;
}

.dash-task-row:last-child {
  border-bottom: none;
}

.dash-task-row:hover {
  background: var(--bg-panel-muted);
}

.dash-task-done .dash-task-title {
  color: var(--muted);
  text-decoration: line-through;
  -webkit-text-decoration-color: var(--muted2);
  text-decoration-color: var(--muted2);
}

.dash-task-approval {
  background: #fffdf5;
}

.dash-task-approval:hover {
  background: #fff9e8;
}

.dash-task-failed .dash-task-title {
  color: #dc2626;
}

.dash-task-icon {
  opacity: .4;
  text-align: center;
  flex-shrink: 0;
  width: 1rem;
  font-size: .82rem;
}

.dash-task-id {
  font-family: var(--font-mono);
  color: var(--muted);
  letter-spacing: .02em;
  flex-shrink: 0;
  min-width: 72px;
  font-size: .72rem;
}

.dash-task-title {
  color: var(--text);
  text-overflow: ellipsis;
  white-space: nowrap;
  letter-spacing: -.005em;
  flex: 1;
  font-size: .875rem;
  overflow: hidden;
}

.dash-task-right {
  flex-shrink: 0;
  align-items: center;
  gap: .4rem;
  margin-left: auto;
  display: flex;
}

.dash-run-btn {
  opacity: .45;
  border: 1px solid var(--line-input);
  color: var(--muted);
  cursor: pointer;
  background: none;
  border-radius: 99px;
  padding: .15rem .55rem;
  font-size: .7rem;
  transition: opacity .14s, background .14s, color .14s;
}

.dash-task-row:hover .dash-run-btn {
  opacity: 1;
}

.dash-run-btn:hover {
  background: var(--bg2);
  color: var(--text);
  border-color: var(--line-input);
  opacity: 1;
}

.dash-run-btn:disabled {
  opacity: .25;
  cursor: default;
}

.dash-board-empty {
  color: var(--muted);
  padding: 1.1rem 1.25rem;
  font-size: .875rem;
  font-style: italic;
}

.dash-overflow-btn {
  background: var(--bg-panel-muted);
  border: none;
  border-top: 1px solid var(--line);
  width: 100%;
  color: var(--muted);
  font-family: var(--font-mono);
  letter-spacing: .02em;
  cursor: pointer;
  text-align: left;
  align-items: center;
  gap: .4rem;
  padding: .55rem 1.25rem;
  font-size: .75rem;
  transition: background .14s, color .14s;
  display: flex;
}

.dash-overflow-btn:hover {
  background: var(--bg2);
  color: var(--text2);
}

.dash-overflow-chevron {
  color: var(--muted2);
  font-size: .65rem;
  line-height: 1;
}

@media (max-width: 880px) {
  .dash-kpi-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .dash-kpi-card:nth-child(2) {
    border-right: none;
  }

  .dash-kpi-card:nth-child(3) {
    border-top: 1px solid var(--line);
  }

  .dash-board-header {
    flex-direction: column;
    gap: .5rem;
  }

  .dash-board-header-right {
    flex-direction: row;
  }

  .dash-progress-track {
    width: 80px;
  }
}

/* [project]/app/styles/review.css [app-client] (css) */
.rv-kpi-strip {
  gap: 1rem;
  display: flex;
}

.rv-kpi {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  flex-direction: column;
  gap: .15rem;
  min-width: 120px;
  padding: .75rem 1.25rem;
  display: flex;
}

.rv-card {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.rv-card-header {
  -webkit-user-select: none;
  user-select: none;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 1.25rem .75rem;
  display: flex;
}

.rv-collapse-toggle {
  color: var(--muted2);
  flex-shrink: 0;
  margin-right: .1rem;
  font-size: .65rem;
}

.rv-card-header-left {
  flex-wrap: wrap;
  flex: 1;
  align-items: center;
  gap: .5rem;
  min-width: 0;
  display: flex;
}

.rv-card-header-right {
  flex-shrink: 0;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.rv-ticket-id {
  font-family: var(--font-mono);
  color: var(--muted);
  flex-shrink: 0;
  font-size: .8rem;
  font-weight: 600;
}

.rv-ticket-title {
  color: var(--text);
  font-size: .975rem;
}

.rv-detail-link {
  font-family: var(--font-mono);
  color: var(--text2);
  font-size: .72rem;
  text-decoration: none;
}

.rv-detail-link:hover {
  text-decoration: underline;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .rv-detail-link {
    color: var(--accent);
  }
}

[data-theme="dark"] .rv-detail-link {
  color: var(--accent);
}

.rv-meta {
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  padding: 0 1.25rem .6rem;
  display: flex;
}

.rv-meta-item {
  color: var(--muted);
  font-size: .75rem;
}

.rv-meta-sep {
  color: var(--muted2);
  font-size: .7rem;
}

.rv-branch {
  font-family: var(--font-mono);
  color: var(--muted);
  background: var(--bg2);
  border-radius: 4px;
  padding: .1rem .4rem;
  font-size: .7rem;
}

.rv-pr-row {
  background: var(--accent-weak);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  padding: .5rem 1.25rem;
  display: flex;
}

.rv-pr-link {
  color: var(--accent-fg);
  font-size: .85rem;
  font-weight: 500;
  text-decoration: none;
}

.rv-pr-link:hover {
  text-decoration: underline;
}

:root:not([data-theme="light"]) .rv-pr-link, [data-theme="dark"] .rv-pr-link {
  color: var(--accent);
}

.rv-pr-hint {
  color: var(--muted2);
  font-size: .75rem;
}

.rv-section {
  padding: .75rem 1.25rem 0;
}

.rv-section:last-child {
  padding-bottom: 0;
}

.rv-section-label {
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--muted2);
  margin-bottom: .35rem;
  font-size: .7rem;
  font-weight: 600;
  display: block;
}

.rv-summary {
  color: var(--text2);
  white-space: pre-wrap;
  margin: 0;
  font-size: .875rem;
  line-height: 1.65;
}

.rv-reject-form {
  border-top: 1px solid var(--line);
  margin-top: .5rem;
  padding-top: .75rem !important;
}

.rv-notes {
  width: 100%;
  font-family: var(--font-sans);
  color: var(--text);
  background: var(--bg2);
  border: 1px solid var(--line-input);
  border-radius: var(--radius);
  resize: vertical;
  outline: none;
  padding: .5rem .75rem;
  font-size: .875rem;
}

.rv-notes:focus {
  border-color: var(--accent);
}

.rv-actions {
  border-top: 1px solid var(--line);
  align-items: center;
  gap: .5rem;
  margin-top: .75rem;
  padding: .85rem 1.25rem;
  display: flex;
}

.rv-approve-btn {
  color: #1a6b3c;
  background: #e8f5ee;
  border-color: #b3ddc4;
}

.rv-approve-btn:hover {
  color: #155a32;
  background: #dff0e7;
  border-color: #8fcfaa;
}

.rv-ai-review {
  border-top: 1px solid var(--line);
  padding: .75rem 1.25rem 0;
}

.rv-ai-review-header {
  align-items: center;
  gap: .5rem;
  margin-bottom: .5rem;
  display: flex;
}

.rv-ai-verdict {
  border: 1px solid;
  border-radius: 999px;
  align-items: center;
  gap: .3rem;
  padding: .15rem .55rem;
  font-size: .72rem;
  font-weight: 600;
  display: inline-flex;
}

.rv-ai-verdict-approved {
  color: #1a6b3c;
  background: #e8f5ee;
  border-color: #b3ddc4;
}

.rv-ai-verdict-attention {
  color: #7a4f00;
  background: #fff8e1;
  border-color: #f0d070;
}

.rv-ai-verdict-issues {
  color: #8b1a1a;
  background: #fdf0f0;
  border-color: #e8b4b4;
}

.rv-ai-summary {
  color: var(--text2);
  margin: 0 0 .5rem;
  font-size: .875rem;
  line-height: 1.6;
}

.rv-ai-issues {
  flex-direction: column;
  gap: .3rem;
  margin-bottom: .5rem;
  display: flex;
}

.rv-ai-issue {
  color: var(--text2);
  gap: .5rem;
  font-size: .82rem;
  line-height: 1.45;
  display: flex;
}

.rv-ai-issue-dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: .45rem;
  height: .45rem;
  margin-top: .4rem;
}

.rv-ai-issue-dot-high {
  background: #c0392b;
}

.rv-ai-issue-dot-medium {
  background: #e67e22;
}

.rv-ai-issue-dot-low {
  background: var(--muted2);
}

.rv-ai-suggestions {
  flex-direction: column;
  gap: .25rem;
  margin-top: .35rem;
  display: flex;
}

.rv-ai-suggestion {
  color: var(--muted);
  padding-left: .9rem;
  font-size: .8rem;
  line-height: 1.45;
  position: relative;
}

.rv-ai-suggestion:before {
  content: "→";
  color: var(--muted2);
  position: absolute;
  left: 0;
}

/* [project]/app/styles/bugs.css [app-client] (css) */
.bug-kpi-row {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--bg-panel);
  grid-template-columns: repeat(6, 1fr);
  display: grid;
  overflow: hidden;
}

.bug-kpi-card {
  border-right: 1px solid var(--line);
  flex-direction: column;
  gap: .1rem;
  padding: 1rem 1.25rem;
  display: flex;
}

.bug-kpi-card:last-child {
  border-right: none;
}

.bug-pipeline {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--bg-panel);
  align-items: stretch;
  gap: 0;
  display: flex;
  position: relative;
  overflow: hidden;
}

.bug-stage {
  cursor: pointer;
  border-right: 1px solid var(--line);
  -webkit-user-select: none;
  user-select: none;
  flex-direction: column;
  flex: 1;
  gap: .2rem;
  padding: .9rem 1rem .75rem;
  transition: background .15s;
  display: flex;
  position: relative;
}

.bug-stage:last-child {
  border-right: none;
}

.bug-stage:hover {
  background: var(--bg-panel-muted);
}

.bug-stage.bug-stage-active {
  background: var(--accent-weak);
}

.bug-stage.bug-stage-active:after {
  content: "";
  background: var(--accent);
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.bug-stage-count {
  letter-spacing: -.03em;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
}

.bug-stage-label {
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted);
  font-size: .75rem;
  font-weight: 500;
}

.bug-stage-open .bug-stage-count {
  color: var(--text);
}

.bug-stage-review .bug-stage-count, .bug-stage-running .bug-stage-count {
  color: #b06000;
}

.bug-stage-fixed .bug-stage-count {
  color: #1a8c4e;
}

.bug-stage-failed .bug-stage-count {
  color: #c7501a;
}

.bug-stage-bar {
  background: var(--line);
  border-radius: 99px;
  height: 3px;
  margin-top: .35rem;
  overflow: hidden;
}

.bug-stage-open .bug-stage-bar-fill {
  background: var(--muted2);
}

.bug-stage-review .bug-stage-bar-fill, .bug-stage-running .bug-stage-bar-fill {
  background: #e8a030;
}

.bug-stage-fixed .bug-stage-bar-fill {
  background: #1a8c4e;
}

.bug-stage-failed .bug-stage-bar-fill {
  background: #c7501a;
}

.bug-stage-bar-fill {
  border-radius: 99px;
  height: 100%;
  transition: width .4s;
}

.bug-stage-arrow {
  color: var(--muted2);
  z-index: 2;
  pointer-events: none;
  font-size: 1rem;
  position: absolute;
  top: 50%;
  right: -8px;
  transform: translateY(-50%);
}

.filters-bar-clear {
  border: 1px solid var(--line);
  color: var(--muted);
  cursor: pointer;
  font-size: .78rem;
  font-family: var(--font-sans);
  background: none;
  border-radius: 99px;
  padding: .2rem .6rem;
  transition: border-color .15s, color .15s;
}

.filters-bar-clear:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.bug-list {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--bg-panel);
  overflow: hidden;
}

.bug-row {
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: .75rem;
  padding: .75rem 1rem;
  transition: background .1s;
  display: flex;
}

.bug-row:last-child {
  border-bottom: none;
}

.bug-row:hover {
  background: var(--bg-panel-muted);
}

.bug-row-approval {
  background: #fffbf0;
}

.bug-row-approval:hover {
  background: #fff7e0;
}

.bug-row-fixed .bug-row-title {
  color: var(--muted2);
  text-decoration: line-through;
}

.bug-row-fixed .bug-row-icon {
  opacity: .35;
}

.bug-row-failed {
  background: #fff6f3;
}

.bug-row-failed:hover {
  background: #ffede8;
}

.bug-row-icon {
  color: #c7501a;
  text-align: center;
  opacity: .7;
  flex-shrink: 0;
  width: 1.2rem;
  font-size: .9rem;
}

.bug-row-body {
  flex-direction: column;
  flex: 1;
  gap: .2rem;
  min-width: 0;
  display: flex;
}

.bug-row-top {
  flex-wrap: wrap;
  align-items: baseline;
  gap: .5rem;
  display: flex;
}

.bug-row-id {
  font-size: .75rem;
  font-family: var(--font-mono);
  color: var(--muted2);
  flex-shrink: 0;
}

.bug-row-title {
  color: var(--text);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .875rem;
  font-weight: 500;
  overflow: hidden;
}

.bug-row-meta {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.bug-row-project {
  color: var(--accent);
  font-size: .75rem;
  font-weight: 500;
  text-decoration: none;
}

.bug-row-project:hover {
  text-decoration: underline;
}

.bug-row-source {
  font-size: .7rem;
  font-family: var(--font-mono);
  color: var(--muted2);
  background: var(--bg2);
  border-radius: 4px;
  padding: 0 .3rem;
}

.bug-row-right {
  flex-shrink: 0;
  align-items: center;
  gap: .4rem;
  display: flex;
}

@media (max-width: 880px) {
  .bug-kpi-row {
    grid-template-columns: repeat(3, 1fr);
  }

  .bug-kpi-card:nth-child(3) {
    border-right: none;
  }

  .bug-kpi-card:nth-child(4) {
    border-top: 1px solid var(--line);
  }

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

  .bug-stage {
    min-width: 45%;
  }

  .bug-stage-arrow {
    display: none;
  }

  .bug-row-title {
    white-space: normal;
  }
}

.bug-detail-hero {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--bg-panel);
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 1.4rem 1.5rem;
  display: flex;
}

.bug-detail-copy {
  flex-direction: column;
  gap: .75rem;
  min-width: 0;
  display: flex;
}

.bug-detail-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.bug-detail-grid {
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .95fr);
  align-items: start;
  gap: 1rem;
  display: grid;
}

.bug-detail-grid .idea-detail-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--bg-panel);
  padding: 1.25rem;
}

.bug-detail-meta-list {
  border-top: 1px solid var(--line);
  flex-direction: column;
  gap: .75rem;
  margin-top: .75rem;
  padding-top: .9rem;
  display: flex;
}

.bug-detail-meta-row {
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  display: flex;
}

.bug-detail-meta-row span {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.bug-detail-meta-row strong {
  color: var(--text);
  text-align: right;
  font-size: 13px;
}

@media (max-width: 980px) {
  .bug-detail-hero {
    flex-direction: column;
    align-items: stretch;
  }

  .bug-detail-actions {
    justify-content: flex-start;
  }

  .bug-detail-grid {
    grid-template-columns: 1fr;
  }
}

.global-filter-bar {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: .75rem;
  display: flex;
}

.global-filter-bar-filters, .global-filter-bar-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.global-filter-bar-filters {
  flex: 680px;
}

.global-filter-bar-actions {
  justify-content: flex-end;
}

.ft-toolbar {
  border-bottom: 1px solid var(--line);
  width: 100%;
  padding-bottom: .9rem;
}

.ft-toolbar .global-filter-bar-filters {
  align-items: flex-end;
}

.ft-filter-field {
  flex-direction: column;
  gap: .35rem;
  min-width: 0;
  display: flex;
}

.ft-filter-field:first-child {
  flex: 220px;
}

.ft-filter-label {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted2);
  font-size: 10px;
  font-weight: 600;
}

.ft-filter-input {
  min-width: 136px;
}

.ft-filter-apply {
  align-self: flex-end;
}

.ft-area-stack {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.ft-area {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}

.ft-area-skeleton {
  overflow: hidden;
}

.ft-area-header {
  background: linear-gradient(90deg, color-mix(in srgb, var(--accent) 16%, transparent) 0, color-mix(in srgb, var(--accent) 16%, transparent) var(--ft-progress, 0%), transparent var(--ft-progress, 0%), transparent 100%);
  align-items: center;
  gap: .75rem;
  padding-left: 4px;
  display: flex;
}

.ft-area-header-skeleton {
  background: color-mix(in srgb, var(--accent) 10%, transparent);
}

.ft-area-toggle {
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  flex: 1;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem 1rem 1.1rem;
  display: flex;
}

.ft-area-heading {
  flex-direction: column;
  gap: .3rem;
  min-width: 0;
  display: flex;
}

.ft-area-name {
  color: var(--text);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
}

.ft-area-summary {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 11px;
  font-weight: 600;
  display: flex;
}

.ft-area-meta {
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  padding-right: 1rem;
  display: flex;
}

.ft-feature-list {
  border-top: 1px solid var(--line);
}

.ft-feature-row {
  border-bottom: 1px solid var(--line);
  grid-template-columns: 88px minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: .85rem 1.25rem;
  display: grid;
}

.ft-feature-row:last-child {
  border-bottom: none;
}

.ft-feature-code {
  color: var(--muted2);
  font-size: 11px;
}

.ft-feature-main {
  min-width: 0;
}

.ft-feature-name {
  color: var(--text);
  font-size: 13px;
  line-height: 1.4;
}

.ft-feature-aside {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.ft-empty-lane {
  color: var(--muted);
  padding: 1rem 1.25rem;
  font-size: .8rem;
}

.ft-footer-note {
  color: var(--muted);
  font-size: 12px;
}

.ft-skeleton-title {
  width: 240px;
  max-width: 72%;
  height: 16px;
}

.ft-skeleton-meta {
  width: 108px;
  height: 10px;
}

.ft-skeleton-code {
  width: 72px;
  height: 10px;
}

.ft-skeleton-name {
  width: min(460px, 90%);
  height: 14px;
}

.ft-skeleton-pill {
  border-radius: 999px;
  width: 92px;
  height: 24px;
}

.bugs-feature-row {
  transition: background .12s, opacity .12s;
}

.bugs-feature-row:hover {
  background: var(--bg2);
}

.bugs-feature-row-dragging {
  opacity: .55;
}

.bugs-feature-main {
  color: inherit;
  flex-direction: column;
  gap: .28rem;
  text-decoration: none;
  display: flex;
}

.bugs-feature-aside {
  gap: .65rem;
}

.bugs-row-time {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
}

.bugs-reorder-controls {
  align-items: center;
  gap: .35rem;
  display: inline-flex;
}

.bugs-reorder-btn {
  border: 1px solid var(--line);
  background: var(--bg-panel);
  color: var(--text2);
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 999px;
  padding: .25rem .55rem;
  font-size: 11px;
  font-weight: 700;
}

.bugs-reorder-btn:hover:not(:disabled) {
  background: var(--bg2);
}

.bugs-reorder-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}

@media (max-width: 640px) {
  .global-filter-bar {
    flex-direction: column;
  }

  .ft-feature-row {
    grid-template-columns: 60px minmax(0, 1fr);
  }

  .ft-feature-aside {
    display: none;
  }
}

.prd-error-banner {
  border-radius: var(--radius-sm);
  color: #b91c1c;
  background: #dc262612;
  border: 1px solid #dc262633;
  padding: .625rem .875rem;
  font-size: .8rem;
}

[data-theme="dark"] .prd-error-banner {
  color: #fca5a5;
  background: #dc26261f;
}

.idea-section-label {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: .5rem;
  font-size: 10px;
  font-weight: 600;
}

.idea-detail-panel {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.idea-inline-meta {
  font-family: var(--font-mono);
  color: var(--muted2);
  font-size: 11px;
}

/* [project]/app/styles/chat.css [app-client] (css) */
.chat-home {
  background: var(--bg);
  flex-direction: column;
  min-height: 100vh;
  display: flex;
  position: relative;
  overflow: hidden;
}

.chat-home-glow {
  filter: blur(50px);
  pointer-events: none;
  opacity: .28;
  border-radius: 999px;
  width: 36rem;
  height: 36rem;
  position: absolute;
}

.chat-home-glow-left {
  background: var(--accent);
  top: -16rem;
  left: -10rem;
}

.chat-home-glow-right {
  background: var(--text);
  bottom: -20rem;
  right: -12rem;
}

.chat-home-topbar {
  z-index: 1;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 1.1rem 1.2rem;
  display: flex;
  position: relative;
}

.chat-home-brand {
  align-items: baseline;
  gap: .35rem;
  display: flex;
}

.chat-home-brand-word {
  font-family: var(--font-serif);
  color: var(--text);
  letter-spacing: -.02em;
  font-size: 1.6rem;
  font-style: italic;
}

.chat-home-brand-sup {
  font-family: var(--font-mono);
  color: var(--accent);
  letter-spacing: .12em;
  font-size: .66rem;
}

.chat-home-dashboard-link {
  color: var(--text2);
  border: 1px solid var(--line-input);
  background: var(--bg-panel);
  border-radius: 999px;
  padding: .35rem .8rem;
  font-size: .85rem;
  text-decoration: none;
}

.chat-home-dashboard-link:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.chat-home-main {
  z-index: 1;
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 1.15rem;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 6.5rem 1.2rem 2rem;
  display: flex;
  position: relative;
}

.chat-home-kicker {
  font-family: var(--font-sans);
  font-size: var(--type-micro);
  font-weight: var(--weight-micro);
  letter-spacing: var(--track-micro);
  text-transform: uppercase;
  color: var(--muted2);
}

.chat-home-title {
  max-width: 760px;
  font-family: var(--font-sans);
  letter-spacing: -.02em;
  color: var(--text);
  text-wrap: balance;
  font-size: clamp(1.6rem, 3.5vw, 2.6rem);
  font-weight: 600;
  line-height: 1.1;
}

.chat-home-suggestions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
  width: 100%;
  margin-top: .4rem;
  display: grid;
}

.chat-home-suggestion {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--bg-panel);
  color: var(--text2);
  text-align: left;
  font-family: var(--font-sans);
  cursor: pointer;
  padding: .9rem .95rem;
  font-size: .85rem;
  line-height: 1.45;
  transition: border-color .1s, background .1s, color .1s;
}

.chat-home-suggestion:hover {
  border-color: var(--accent);
  background: var(--accent-weak);
  color: var(--text);
}

@keyframes chat-skeleton-shimmer {
  0% {
    background-position: -400px 0;
  }

  100% {
    background-position: 400px 0;
  }
}

.chat-home-suggestion-skeleton {
  border-radius: var(--radius-md);
  background: linear-gradient(90deg, var(--bg2) 25%, var(--line) 50%, var(--bg2) 75%);
  background-size: 800px 100%;
  height: 70px;
  animation: 1.4s ease-in-out infinite chat-skeleton-shimmer;
}

.chat-context-select-skeleton {
  border-radius: var(--radius-sm);
  background: linear-gradient(90deg, var(--bg2) 25%, var(--line) 50%, var(--bg2) 75%);
  background-size: 800px 100%;
  width: 180px;
  height: 32px;
  animation: 1.4s ease-in-out infinite chat-skeleton-shimmer;
}

.chat-home-composer-wrap {
  z-index: 1;
  width: 100%;
  max-width: 900px;
  margin: auto auto 0;
  padding: 1.4rem 1.2rem 2rem;
  position: relative;
}

.chat-home-composer {
  border: 1px solid var(--line-input);
  background: var(--bg-panel);
  border-radius: var(--radius-lg);
  align-items: flex-end;
  gap: .7rem;
  padding: .72rem;
  display: flex;
}

.chat-home-input {
  width: 100%;
  color: var(--text);
  font-family: var(--font-sans);
  resize: none;
  background: none;
  border: none;
  outline: none;
  min-height: 24px;
  max-height: 180px;
  padding: .35rem .45rem;
  font-size: .95rem;
  line-height: 1.4;
}

.chat-home-input::placeholder {
  color: var(--muted2);
}

.chat-home-send {
  border-radius: var(--radius-sm);
  background: var(--text);
  color: var(--bg);
  cursor: pointer;
  border: none;
  padding: .5rem .95rem;
  font-size: .85rem;
  font-weight: 500;
  transition: background .1s;
}

.chat-home-send:hover {
  background: var(--accent);
  color: var(--accent-fg);
}

@media (max-width: 900px) {
  .chat-home-main {
    padding-top: 5.2rem;
  }

  .chat-home-suggestions {
    grid-template-columns: 1fr;
  }
}

.chat-home-voice {
  border: 1px solid var(--line-input);
  border-radius: var(--radius-sm);
  background: var(--bg2);
  color: var(--text2);
  cursor: pointer;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  display: inline-flex;
}

.chat-home-voice-icon {
  width: 17px;
  height: 17px;
  display: block;
}

.chat-home-voice:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.admin-main:has(.chat-home) {
  max-width: none;
  padding: 0;
}

.chat-home-file-input {
  clip: rect(0, 0, 0, 0);
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.chat-home-attach {
  border: 1px solid var(--line-input);
  border-radius: var(--radius-sm);
  background: var(--bg2);
  color: var(--text2);
  cursor: pointer;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  display: inline-flex;
}

.chat-home-attach-icon {
  width: 16px;
  height: 16px;
  display: block;
}

.chat-home-attach:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.chat-home-recents {
  text-align: left;
  width: 100%;
  margin-top: .5rem;
}

.chat-home-recents-label {
  font-size: var(--type-micro);
  font-weight: var(--weight-micro);
  letter-spacing: var(--track-micro);
  text-transform: uppercase;
  color: var(--muted2);
  margin: 0 0 .5rem;
}

.chat-home-recents-list {
  flex-direction: column;
  gap: .2rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.chat-home-recent-item {
  border-radius: var(--radius);
  border: 1px solid #0000;
  align-items: baseline;
  gap: .6rem;
  padding: .45rem .7rem;
  text-decoration: none;
  transition: background .1s, border-color .1s;
  display: flex;
}

.chat-home-recent-item:hover {
  background: var(--bg-panel);
  border-color: var(--line);
}

.chat-home-recent-title {
  color: var(--text2);
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  font-size: .875rem;
  overflow: hidden;
}

.chat-home-recent-item:hover .chat-home-recent-title {
  color: var(--text);
}

.chat-home-recent-project {
  font-family: var(--font-mono);
  color: var(--muted);
  flex-shrink: 0;
  font-size: .72rem;
}

.chat-context-bar {
  align-items: center;
  gap: .5rem;
  padding: .5rem 0;
  display: flex;
}

.chat-context-select {
  font-family: var(--font-sans);
  border-radius: var(--radius);
  border: 1px solid var(--line-input);
  background: var(--bg-panel);
  color: var(--text);
  max-width: 220px;
  padding: .3rem .5rem;
  font-size: .82rem;
}

.chat-ask-link {
  color: var(--accent);
  align-items: center;
  gap: .25rem;
  font-size: .78rem;
  text-decoration: none;
  display: inline-flex;
}

.chat-ask-link:hover {
  text-decoration: underline;
}

.chat-page {
  background: var(--bg);
  flex-direction: row;
  height: 100vh;
  display: flex;
  overflow: hidden;
}

.chat-sidebar {
  background: var(--bg-panel);
  border-right: 1px solid var(--line);
  flex-direction: column;
  flex-shrink: 0;
  width: 220px;
  display: flex;
  overflow: hidden;
}

.chat-sidebar-header {
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
  padding: .75rem .75rem .5rem;
}

.chat-sidebar-new {
  background: var(--accent);
  width: 100%;
  color: var(--accent-fg);
  border-radius: var(--radius-sm);
  text-align: center;
  padding: .45rem .75rem;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .1s;
  display: block;
}

.chat-sidebar-new:hover {
  background: var(--accent2);
}

.chat-sidebar-list {
  scrollbar-width: thin;
  scrollbar-color: var(--line) transparent;
  flex: 1;
  margin: 0;
  padding: .5rem 0;
  list-style: none;
  overflow-y: auto;
}

.chat-sidebar-item-wrap {
  border-radius: var(--radius);
  align-items: stretch;
  margin: 0 .4rem;
  display: flex;
  position: relative;
}

.chat-sidebar-item-wrap:hover .chat-sidebar-delete {
  opacity: 1;
}

.chat-sidebar-item {
  color: var(--text);
  border-radius: var(--radius);
  flex: 1;
  min-width: 0;
  padding: .5rem 1.75rem .5rem .75rem;
  text-decoration: none;
  transition: background .12s;
  display: block;
}

.chat-sidebar-item-wrap:hover .chat-sidebar-item {
  background: var(--nav-hover-bg);
}

.chat-sidebar-item-active {
  background: var(--accent-weak) !important;
}

.chat-sidebar-delete {
  opacity: 0;
  color: var(--muted);
  cursor: pointer;
  border-radius: var(--radius);
  background: none;
  border: none;
  flex-shrink: 0;
  padding: .2rem .3rem;
  font-size: 1rem;
  line-height: 1;
  transition: opacity .12s, color .12s;
  position: absolute;
  top: 50%;
  right: .3rem;
  transform: translateY(-50%);
}

.chat-sidebar-delete:hover {
  color: var(--danger, #e05c5c);
}

.chat-sidebar-item-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .82rem;
  line-height: 1.4;
  display: block;
  overflow: hidden;
}

.chat-sidebar-item-project {
  color: var(--muted);
  font-size: .7rem;
  font-family: var(--font-mono);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: .15rem;
  display: block;
  overflow: hidden;
}

.chat-sidebar-empty {
  color: var(--muted);
  text-align: center;
  padding: .75rem;
  font-size: .8rem;
}

.chat-main {
  flex-direction: column;
  flex: 1;
  min-width: 0;
  display: flex;
  overflow: hidden;
}

.chat-topbar {
  background: var(--bg-panel);
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
  align-items: center;
  gap: .75rem;
  padding: .75rem 1.25rem;
  display: flex;
}

.chat-topbar-back {
  color: var(--muted);
  font-family: var(--font-mono);
  letter-spacing: .01em;
  flex-shrink: 0;
  font-size: .8rem;
  text-decoration: none;
  transition: color .14s;
}

.chat-topbar-back:hover {
  color: var(--text);
}

.chat-topbar-title {
  color: var(--text);
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  font-size: .9rem;
  font-weight: 500;
  overflow: hidden;
}

.chat-topbar-badge {
  font-family: var(--font-mono);
  letter-spacing: .04em;
  background: var(--accent-weak);
  color: var(--accent);
  border-radius: 99px;
  flex-shrink: 0;
  padding: .2rem .55rem;
  font-size: .72rem;
}

[data-theme="light"] .chat-topbar-badge {
  color: var(--accent-fg);
}

.chat-messages {
  scrollbar-width: thin;
  scrollbar-color: var(--line) transparent;
  flex-direction: column;
  flex: 1;
  gap: 1rem;
  padding: 1.5rem 1rem;
  display: flex;
  overflow-y: auto;
}

.chat-message {
  width: 100%;
  max-width: 760px;
  display: flex;
}

.chat-message-user {
  justify-content: flex-end;
  align-self: flex-end;
  margin-left: auto;
}

.chat-message-assistant {
  align-self: flex-start;
  margin-right: auto;
}

.chat-message-content {
  border-radius: var(--radius-lg);
  max-width: 680px;
  padding: .75rem 1rem;
  font-size: .9rem;
  line-height: 1.65;
}

.chat-message-user .chat-message-content {
  background: var(--accent);
  color: var(--accent-fg);
  border-bottom-right-radius: 4px;
}

.chat-message-assistant .chat-message-content {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  color: var(--text);
  box-shadow: var(--shadow);
  border-bottom-left-radius: 4px;
}

.chat-message-paragraph {
  margin: 0 0 .5em;
}

.chat-message-paragraph:last-child {
  margin-bottom: 0;
}

.chat-code-block {
  border-radius: var(--radius);
  font-family: var(--font-mono);
  color: #c8c2ba;
  background: #1a1814;
  margin: .5em 0;
  padding: .75rem 1rem;
  font-size: .8rem;
  line-height: 1.55;
  position: relative;
  overflow-x: auto;
}

.chat-code-lang {
  color: #4a4540;
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: .4rem;
  font-size: .68rem;
  display: block;
}

.chat-streaming-cursor {
  background: var(--accent);
  vertical-align: text-bottom;
  width: 2px;
  height: 1em;
  margin-left: 1px;
  animation: 1s step-start infinite cursorBlink;
  display: inline-block;
}

@keyframes cursorBlink {
  0%, 100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}

.chat-composer-wrap {
  background: var(--bg);
  border-top: 1px solid var(--line);
  flex-shrink: 0;
  padding: .75rem 1rem 1rem;
}

.chat-composer {
  background: var(--bg-panel);
  border: 1px solid var(--line-input);
  border-radius: var(--radius-lg);
  max-width: 760px;
  box-shadow: var(--shadow);
  align-items: flex-end;
  gap: .5rem;
  margin: 0 auto;
  padding: .5rem .5rem .5rem .75rem;
  display: flex;
}

.chat-input {
  font-family: var(--font-sans);
  color: var(--text);
  resize: none;
  background: none;
  border: none;
  outline: none;
  flex: 1;
  min-height: 1.55em;
  max-height: 200px;
  padding: .2rem 0;
  font-size: .9rem;
  line-height: 1.55;
}

.chat-input::placeholder {
  color: var(--muted2);
}

.chat-input:disabled {
  opacity: .6;
}

.chat-send {
  background: var(--accent);
  color: var(--accent-fg);
  border-radius: var(--radius-sm);
  font-family: var(--font-sans);
  cursor: pointer;
  border: none;
  flex-shrink: 0;
  align-self: flex-end;
  padding: .45rem 1rem;
  font-size: .85rem;
  font-weight: 600;
  transition: background .1s;
}

.chat-send:hover:not(:disabled) {
  background: var(--accent2);
}

.chat-send:disabled {
  opacity: .5;
  cursor: default;
}

.chat-tool-activity {
  font-family: var(--font-mono);
  color: var(--muted);
  align-items: center;
  gap: .5rem;
  padding: .25rem 0;
  font-size: .75rem;
  display: flex;
}

.chat-tool-spinner {
  border: 2px solid var(--line);
  border-top-color: var(--accent);
  border-radius: 50%;
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  animation: .7s linear infinite toolSpin;
  display: inline-block;
}

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

/* [project]/app/styles/roadmap.css [app-client] (css) */
.rdm-board {
  grid-template-columns: repeat(4, 1fr);
  align-items: start;
  gap: 1.25rem;
  display: grid;
}

.rdm-col {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  flex-direction: column;
  gap: .75rem;
  min-height: 200px;
  padding: 1rem;
  display: flex;
}

.rdm-col-header {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  padding-bottom: .5rem;
  display: flex;
}

.rdm-col-title-group {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.rdm-col-dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
}

.rdm-dot-open, .rdm-dot-progress {
  background: var(--accent);
}

.rdm-dot-review {
  background: #f59e0b;
}

.rdm-dot-done {
  background: #22c55e;
}

.rdm-dot-failed {
  background: #ef4444;
}

.rdm-col-title {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text);
  font-size: .78rem;
  font-weight: 600;
}

.rdm-col-count {
  font-family: var(--font-mono);
  color: var(--bg-panel);
  background: var(--muted);
  text-align: center;
  border-radius: 999px;
  min-width: 1.5rem;
  padding: .1rem .5rem;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.5;
}

.rdm-col-add-btn {
  cursor: pointer;
  color: var(--muted2);
  background: none;
  border: none;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  padding: .1rem .3rem;
  font-size: 1rem;
  line-height: 1;
  transition: background .12s, color .12s;
  display: flex;
}

.rdm-col-add-btn:hover {
  background: var(--bg-panel-muted);
  color: var(--fg);
}

.rdm-col-add-btn:disabled {
  opacity: .35;
  cursor: default;
}

.rdm-col-header-right {
  align-items: center;
  gap: .35rem;
  display: flex;
}

.rdm-cards {
  flex-direction: column;
  gap: .6rem;
  display: flex;
}

.rdm-empty {
  color: var(--muted2);
  text-align: center;
  padding: 1.5rem 0;
  font-size: .8rem;
}

.rdm-card {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: inherit;
  border-left-width: 3px;
  flex-direction: column;
  gap: .5rem;
  padding: .85rem .9rem;
  text-decoration: none;
  transition: box-shadow .12s;
  display: flex;
}

.rdm-card:hover {
  box-shadow: 0 2px 8px #0000001a;
}

.rdm-card-open, .rdm-card-progress {
  border-left-color: var(--accent);
}

.rdm-card-review {
  border-left-color: #f59e0b;
}

.rdm-card-done {
  border-left-color: #22c55e;
}

.rdm-card-failed {
  border-left-color: #ef4444;
}

.rdm-card-top {
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.rdm-card-meta {
  font-family: var(--font-mono);
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--muted2);
  font-size: .67rem;
  font-weight: 600;
}

.rdm-card-time {
  font-family: var(--font-mono);
  letter-spacing: .04em;
  color: var(--muted2);
  flex-shrink: 0;
  font-size: .67rem;
}

.rdm-card-title {
  color: var(--text);
  font-size: .9rem;
  font-weight: 500;
  line-height: 1.35;
}

.rdm-card-bottom {
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  display: flex;
}

.rdm-runs {
  align-items: baseline;
  gap: .25rem;
  margin-right: auto;
  display: flex;
}

.rdm-runs-label {
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted2);
  font-size: .62rem;
  font-weight: 600;
}

.rdm-runs-value {
  font-family: var(--font-serif);
  letter-spacing: -.03em;
  color: var(--text);
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1;
}

.rdm-tag {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  border: 1px solid var(--line);
  color: var(--muted);
  background: var(--bg-panel);
  white-space: nowrap;
  border-radius: 3px;
  padding: .15rem .4rem;
  font-size: .62rem;
  font-weight: 600;
}

.rdm-priority-tag {
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--priority-color);
  border: 1px solid;
  border-color: color-mix(in srgb, var(--priority-color) 31%, transparent);
  background: color-mix(in srgb, var(--priority-color) 7%, transparent);
  border-radius: 3px;
  padding: .15rem .35rem;
  font-size: .6rem;
  font-weight: 700;
}

.rdm-card-priority-urgent {
  --priority-color: var(--danger);
  border-left-color: var(--priority-color);
}

.rdm-card-priority-high {
  --priority-color: #f97316;
  border-left-color: var(--priority-color);
}

.rdm-card-priority-medium {
  --priority-color: var(--accent);
  border-left-color: var(--priority-color);
}

.rdm-card-priority-low {
  --priority-color: var(--muted2);
  border-left-color: var(--priority-color);
}

.rdm-card-active {
  box-shadow: 0 0 0 1.5px #f59e0b60;
}

.rdm-active-run {
  border-radius: var(--radius-sm);
  background: #f59e0b12;
  border: 1px solid #f59e0b40;
  align-items: center;
  gap: .4rem;
  padding: .3rem .55rem;
  display: flex;
}

.rdm-active-pulse {
  background: #f59e0b;
  border-radius: 50%;
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  animation: 1.4s ease-in-out infinite rdmPulse;
}

@keyframes rdmPulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: .45;
    transform: scale(.75);
  }
}

.rdm-active-label {
  font-family: var(--font-mono);
  letter-spacing: .05em;
  color: #b45309;
  font-size: .68rem;
  font-weight: 600;
}

[data-theme="dark"] .rdm-active-run {
  background: #f59e0b18;
  border-color: #f59e0b30;
}

[data-theme="dark"] .rdm-active-label {
  color: #fbbf24;
}

.rdm-tag-github {
  color: #1f6feb;
  background: #1f6feb10;
  border-color: #58a6ff40;
}

.rdm-tag-jira {
  color: #0065ff;
  background: #0065ff10;
  border-color: #0065ff40;
}

[data-theme="dark"] .rdm-tag-github {
  color: #58a6ff;
  background: #1f6feb15;
  border-color: #1f6feb40;
}

[data-theme="dark"] .rdm-tag-jira {
  color: #4c9aff;
  background: #0065ff15;
  border-color: #0065ff40;
}

@media (max-width: 1100px) {
  .rdm-board {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .rdm-board {
    grid-template-columns: 1fr;
  }
}

.rdm-stats-strip {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  align-items: center;
  gap: 0;
  display: flex;
  overflow: hidden;
}

.rdm-stat {
  flex-direction: column;
  flex: 1;
  align-items: center;
  gap: .15rem;
  padding: .85rem 1.5rem;
  display: flex;
}

.rdm-stat-divider {
  background: var(--line);
  flex-shrink: 0;
  align-self: stretch;
  width: 1px;
}

.rdm-stat-value {
  font-family: var(--font-serif);
  letter-spacing: -.03em;
  color: var(--text);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
}

.rdm-stat-value.rdm-stat-accent {
  color: var(--accent);
}

.rdm-stat-value.rdm-stat-done {
  color: #22c55e;
}

.rdm-stat-label {
  font-family: var(--font-mono);
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--muted2);
  font-size: .67rem;
}

.rdm-milestone-stack {
  flex-direction: column;
  gap: 1.5rem;
  display: flex;
}

.rdm-milestone {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-left: 3px solid var(--rdm-accent, var(--accent));
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.rdm-milestone-header {
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  padding: .85rem 1rem .85rem 1.1rem;
  display: flex;
}

.rdm-milestone-toggle {
  cursor: pointer;
  text-align: left;
  min-width: 0;
  color: inherit;
  background: none;
  border: none;
  flex: 1;
  align-items: center;
  gap: .6rem;
  padding: 0;
  display: flex;
}

.rdm-milestone-chevron {
  color: var(--muted2);
  text-align: center;
  flex-shrink: 0;
  width: 1rem;
  font-size: .6rem;
}

.rdm-milestone-heading {
  flex-direction: column;
  gap: .25rem;
  min-width: 0;
  display: flex;
}

.rdm-milestone-title-row {
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  display: flex;
}

.rdm-milestone-name {
  color: var(--text);
  font-size: .95rem;
  font-weight: 600;
}

.rdm-milestone-meta {
  font-family: var(--font-mono);
  color: var(--muted2);
  align-items: center;
  gap: .75rem;
  font-size: .72rem;
  display: flex;
}

.rdm-milestone-date {
  color: var(--muted);
}

.rdm-milestone-pct {
  color: var(--rdm-accent, var(--accent));
  font-weight: 600;
}

.rdm-milestone-actions {
  flex-shrink: 0;
  align-items: center;
  gap: .35rem;
  display: flex;
}

.rdm-add-item-btn {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  width: 1.75rem;
  height: 1.75rem;
  color: var(--muted2);
  cursor: pointer;
  background: none;
  justify-content: center;
  align-items: center;
  padding: 0;
  font-size: 1.1rem;
  line-height: 1;
  transition: background .1s, color .1s, border-color .1s;
  display: flex;
}

.rdm-add-item-btn:hover {
  background: var(--bg2);
  color: var(--text);
  border-color: var(--line-input);
}

.rdm-progress-bar {
  background: var(--line);
  height: 3px;
}

.rdm-progress-fill {
  height: 100%;
  width: var(--rdm-progress, 0%);
  background: var(--rdm-accent, var(--accent));
  transition: width .4s;
}

.rdm-item-list {
  border-top: 1px solid var(--line);
  padding: 0 0 .5rem;
}

.rdm-milestone-desc {
  color: var(--muted);
  margin: 0;
  padding: .65rem 1.1rem 0;
  font-size: .82rem;
  line-height: 1.5;
}

.rdm-item-row {
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: .75rem;
  padding: .9rem 1rem .9rem 1.1rem;
  transition: background .1s;
  display: flex;
}

.rdm-item-row:last-child {
  border-bottom: none;
}

.rdm-item-row:hover {
  background: var(--bg-panel-muted);
}

.rdm-item-icon {
  color: var(--muted2);
  text-align: center;
  flex-shrink: 0;
  width: 1.1rem;
  font-size: .8rem;
}

.rdm-item-main {
  flex-direction: column;
  flex: 1;
  gap: .1rem;
  min-width: 0;
  display: flex;
}

.rdm-item-title {
  color: var(--text);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .875rem;
  overflow: hidden;
}

.rdm-item-desc {
  color: var(--muted);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .75rem;
  overflow: hidden;
}

.rdm-item-aside {
  flex-shrink: 0;
  align-items: center;
  gap: .4rem;
  display: flex;
}

.rdm-item-priority {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  border: 1px solid #0000;
  border-radius: 3px;
  padding: .15rem .4rem;
  font-size: .65rem;
  font-weight: 700;
}

.rdm-priority-high {
  color: #f97316;
  background: #f9731610;
  border-color: #f9731630;
}

.rdm-priority-medium {
  color: var(--accent);
  border-color: color-mix(in srgb, var(--accent) 30%, transparent);
  background: color-mix(in srgb, var(--accent) 8%, transparent);
}

.rdm-priority-low {
  color: var(--muted2);
  border-color: var(--line);
  background: none;
}

.rdm-empty-lane {
  color: var(--muted2);
  text-align: center;
  padding: .85rem 1.1rem;
  font-size: .82rem;
}

.rdm-empty-add {
  color: var(--accent);
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  font-size: .82rem;
}

.rdm-empty-add:hover {
  text-decoration: underline;
}

@media (max-width: 640px) {
  .rdm-stats-strip {
    flex-wrap: wrap;
  }

  .rdm-stat {
    flex: 0 0 calc(50% - .5px);
  }

  .rdm-item-aside {
    flex-wrap: wrap;
  }
}

.rdm-view-toggle {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  gap: .2rem;
  padding: .2rem;
  display: flex;
}

.rdm-view-btn {
  border-radius: var(--radius-sm);
  font-size: var(--type-base);
  font-weight: 500;
  font-family: var(--font-sans);
  color: var(--muted);
  cursor: pointer;
  background: none;
  border: none;
  padding: .3rem .75rem;
  transition: background .1s, color .1s;
}

.rdm-view-btn.active {
  background: var(--bg);
  color: var(--text);
  box-shadow: 0 1px 3px #00000012;
}

.rdm-view-btn:hover:not(.active) {
  color: var(--text2);
}

.rdm-ticket-chips {
  flex-wrap: wrap;
  gap: .2rem;
  margin-top: .15rem;
  display: flex;
}

.rdm-ticket-chip {
  font-family: var(--font-mono);
  letter-spacing: .04em;
  border: 1px solid var(--line);
  background: var(--bg);
  color: var(--muted);
  white-space: nowrap;
  cursor: default;
  border-radius: 3px;
  align-items: center;
  gap: .2rem;
  padding: .08rem .3rem;
  font-size: .62rem;
  font-weight: 600;
  display: inline-flex;
}

.rdm-tc-dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: 5px;
  height: 5px;
}

.rdm-tc-open {
  background: var(--accent);
}

.rdm-tc-progress, .rdm-tc-review {
  background: #f59e0b;
}

.rdm-tc-done {
  background: #22c55e;
}

.rdm-tc-failed {
  background: #ef4444;
}

.rdm-tc-other {
  background: var(--muted2);
}

.rdm-picker-section {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.rdm-picker-linked {
  flex-wrap: wrap;
  gap: .3rem;
  min-height: 1.8rem;
  display: flex;
}

.rdm-picker-chip {
  font-family: var(--font-mono);
  border: 1px solid var(--line);
  background: var(--bg-panel);
  color: var(--text);
  white-space: nowrap;
  border-radius: 3px;
  align-items: center;
  gap: .3rem;
  padding: .2rem .35rem .2rem .5rem;
  font-size: .7rem;
  font-weight: 600;
  display: inline-flex;
}

.rdm-picker-chip-remove {
  cursor: pointer;
  color: var(--muted2);
  background: none;
  border: none;
  align-items: center;
  padding: 0;
  font-size: .8rem;
  line-height: 1;
  display: flex;
}

.rdm-picker-chip-remove:hover {
  color: var(--danger);
}

.rdm-picker-results {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--bg);
  max-height: 180px;
  overflow-y: auto;
}

.rdm-picker-result-row {
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: .5rem;
  padding: .4rem .7rem;
  transition: background .1s;
  display: flex;
}

.rdm-picker-result-row:last-child {
  border-bottom: none;
}

.rdm-picker-result-row:hover {
  background: var(--bg-panel);
}

.rdm-picker-result-id {
  font-family: var(--font-mono);
  color: var(--muted2);
  flex-shrink: 0;
  min-width: 3rem;
  font-size: .63rem;
  font-weight: 700;
}

.rdm-picker-result-title {
  color: var(--text);
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  font-size: .8rem;
  overflow: hidden;
}

.rdm-picker-add-btn {
  border: 1px solid var(--line);
  color: var(--accent);
  cursor: pointer;
  background: none;
  border-radius: 3px;
  flex-shrink: 0;
  padding: .15rem .45rem;
  font-size: .7rem;
  transition: background .1s, border-color .1s;
}

.rdm-picker-add-btn:hover {
  background: var(--accent-weak);
  border-color: var(--accent);
}

.rdm-picker-empty {
  color: var(--muted2);
  text-align: center;
  padding: .75rem;
  font-size: .8rem;
}

.rdm-timeline-wrap {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.rdm-timeline-scroll {
  overflow-x: auto;
}

.rdm-tl-head-row {
  border-bottom: 2px solid var(--line);
  height: 36px;
  display: flex;
}

.rdm-tl-label-col {
  border-right: 1px solid var(--line);
  width: 160px;
  min-width: 160px;
  color: var(--text);
  flex-shrink: 0;
  align-items: center;
  padding: 0 .75rem;
  font-size: .78rem;
  font-weight: 500;
  display: flex;
  overflow: hidden;
}

.rdm-tl-months-area {
  flex: 1;
  min-width: 600px;
  position: relative;
  overflow: hidden;
}

.rdm-tl-month-tick {
  border-left: 1px dashed var(--line);
  font-size: .63rem;
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted2);
  white-space: nowrap;
  pointer-events: none;
  padding: .4rem .35rem 0;
  position: absolute;
  top: 0;
  bottom: 0;
}

.rdm-tl-month-tick.current {
  color: var(--accent);
  border-left-color: color-mix(in srgb, var(--accent) 30%, transparent);
  font-weight: 700;
}

.rdm-tl-group {
  border-bottom: 1px solid var(--line);
}

.rdm-tl-group:last-child {
  border-bottom: none;
}

.rdm-tl-row {
  cursor: pointer;
  height: 52px;
  transition: background .1s;
  display: flex;
}

.rdm-tl-row:hover {
  background: var(--bg-panel-muted);
}

.rdm-tl-item-row {
  border-top: 1px solid var(--line);
  cursor: pointer;
  background: var(--bg);
  height: 34px;
  transition: background .1s;
  display: flex;
}

.rdm-tl-item-row:hover {
  background: var(--bg-panel-muted);
}

.rdm-tl-item-label {
  border-right: 1px solid var(--line);
  flex-shrink: 0;
  align-items: center;
  gap: .3rem;
  width: 160px;
  min-width: 160px;
  padding: 0 .6rem 0 1.5rem;
  display: flex;
  overflow: hidden;
}

.rdm-tl-item-icon {
  color: var(--muted2);
  flex-shrink: 0;
  font-size: .65rem;
}

.rdm-tl-item-name {
  color: var(--muted);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .72rem;
  overflow: hidden;
}

.rdm-tl-item-bar {
  border-radius: 3px;
  align-items: center;
  min-width: 6px;
  height: 16px;
  padding: 0 .3rem;
  transition: filter .12s;
  display: flex;
  position: absolute;
  top: 50%;
  overflow: hidden;
  transform: translateY(-50%);
}

.rdm-tl-item-bar:hover {
  filter: brightness(1.15);
}

.rdm-tl-row-label {
  border-right: 1px solid var(--line);
  flex-direction: column;
  flex-shrink: 0;
  justify-content: center;
  gap: .1rem;
  width: 160px;
  min-width: 160px;
  padding: 0 .75rem;
  display: flex;
  overflow: hidden;
}

.rdm-tl-row-name {
  color: var(--text);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .82rem;
  font-weight: 500;
  overflow: hidden;
}

.rdm-tl-row-meta {
  font-size: .65rem;
  font-family: var(--font-mono);
  color: var(--muted2);
  white-space: nowrap;
}

.rdm-tl-track {
  flex: 1;
  min-width: 600px;
  position: relative;
  overflow: hidden;
}

.rdm-tl-grid-line {
  background: var(--line);
  opacity: .5;
  pointer-events: none;
  width: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
}

.rdm-tl-today-line {
  background: var(--accent);
  opacity: .55;
  pointer-events: none;
  z-index: 3;
  width: 2px;
  position: absolute;
  top: 0;
  bottom: 0;
}

.rdm-tl-bar {
  border-radius: 4px;
  align-items: center;
  gap: .3rem;
  min-width: 6px;
  height: 26px;
  padding: 0 .45rem;
  transition: filter .12s;
  display: flex;
  position: absolute;
  top: 50%;
  overflow: hidden;
  transform: translateY(-50%);
}

.rdm-tl-bar:hover {
  filter: brightness(1.12);
}

.rdm-tl-bar-open {
  border-right: 2px dashed #ffffff73;
  border-radius: 4px 2px 2px 4px;
}

.rdm-tl-bar-label {
  color: #ffffffeb;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .7rem;
  font-weight: 600;
  overflow: hidden;
}

.rdm-tl-bar-count {
  color: #ffffffb8;
  white-space: nowrap;
  font-size: .62rem;
  font-family: var(--font-mono);
  flex-shrink: 0;
}

.rdm-tl-undated {
  border-top: 1px solid var(--line);
  padding: .6rem 1rem;
}

.rdm-tl-undated-label {
  font-size: .65rem;
  font-family: var(--font-mono);
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--muted2);
  margin-bottom: .4rem;
}

.rdm-tl-undated-chips {
  flex-wrap: wrap;
  gap: .35rem;
  display: flex;
}

.rdm-tl-undated-chip {
  color: var(--muted);
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: .2rem .55rem;
  font-size: .75rem;
}

.rdm-color-swatches {
  flex-wrap: wrap;
  gap: .4rem;
  padding: .35rem 0 .1rem;
  display: flex;
}

.rdm-color-swatch {
  cursor: pointer;
  border: 2px solid #0000;
  border-radius: 50%;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  transition: transform .12s, border-color .12s;
}

.rdm-color-swatch:hover {
  transform: scale(1.15);
}

.rdm-color-swatch.selected {
  border-color: var(--text);
  box-shadow: 0 0 0 1px var(--bg);
  transform: scale(1.1);
}

.rdm-item-dates {
  font-family: var(--font-mono);
  color: var(--muted2);
  white-space: nowrap;
  margin-top: .1rem;
  font-size: .62rem;
}

.admin-card {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.admin-card-header {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  padding: .75rem 1.1rem;
  display: flex;
}

.admin-card-title {
  color: var(--text);
  letter-spacing: -.01em;
  font-size: .82rem;
  font-weight: 600;
}

.admin-card-body {
  padding: 1.1rem;
}

.stack-md {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.stack-sm {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.rdm-comments-section {
  background: var(--bg);
}

.rdm-comment-list {
  flex-direction: column;
  gap: 0;
  display: flex;
}

.rdm-comment {
  border-bottom: 1px solid var(--line);
  flex-direction: column;
  gap: .25rem;
  padding: .65rem 1.1rem;
  display: flex;
}

.rdm-comment:last-child {
  border-bottom: none;
}

.rdm-comment-header {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.rdm-comment-author {
  color: var(--text);
  font-size: .78rem;
  font-weight: 600;
}

.rdm-comment-time {
  font-family: var(--font-mono);
  color: var(--muted2);
  flex: 1;
  font-size: .65rem;
}

.rdm-comment-actions {
  opacity: 0;
  gap: .3rem;
  transition: opacity .1s;
  display: flex;
}

.rdm-comment:hover .rdm-comment-actions {
  opacity: 1;
}

.rdm-comment-action-btn {
  cursor: pointer;
  color: var(--muted2);
  background: none;
  border: none;
  border-radius: 3px;
  padding: .1rem .3rem;
  font-size: .7rem;
  transition: color .1s, background .1s;
}

.rdm-comment-action-btn:hover {
  color: var(--text);
  background: var(--bg-panel);
}

.rdm-comment-action-btn.danger:hover {
  color: var(--danger);
}

.rdm-comment-body {
  color: var(--text);
  white-space: pre-wrap;
  word-break: break-word;
  font-size: .82rem;
  line-height: 1.5;
}

.rdm-comment-edit-area {
  flex-direction: column;
  gap: .35rem;
  display: flex;
}

.rdm-comment-edit-textarea {
  width: 100%;
  color: var(--text);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  resize: vertical;
  box-sizing: border-box;
  min-height: 3rem;
  padding: .4rem .5rem;
  font-family: inherit;
  font-size: .82rem;
  line-height: 1.5;
}

.rdm-comment-edit-textarea:focus {
  border-color: var(--accent);
  outline: none;
}

.rdm-comment-edit-btns {
  justify-content: flex-end;
  gap: .3rem;
  display: flex;
}

.rdm-comment-form {
  flex-direction: column;
  gap: .75rem;
  padding: 0 0 .75rem;
  display: flex;
}

.rdm-comment-form-textarea {
  width: 100%;
  color: var(--text);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  resize: none;
  box-sizing: border-box;
  min-height: 2.4rem;
  padding: .45rem .6rem;
  font-family: inherit;
  font-size: .82rem;
  line-height: 1.5;
  transition: border-color .12s, min-height .15s;
}

.rdm-comment-form-textarea:focus {
  border-color: var(--accent);
  outline: none;
  min-height: 4.5rem;
}

.rdm-comment-form-footer {
  justify-content: flex-end;
  display: flex;
}

.detail-header-name {
  font-family: var(--font-sans);
  letter-spacing: -.02em;
  color: var(--text);
  font-size: 26px;
  font-weight: 300;
  line-height: 1.15;
}

.rdm-item-page-meta {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.rdm-item-page-category {
  color: var(--muted2);
  font-size: .82rem;
}

.rdm-item-page-actions {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.rdm-item-page-body {
  grid-template-columns: 1fr 320px;
  align-items: start;
  gap: 1.5rem;
  display: grid;
}

.rdm-item-page-main, .rdm-item-page-sidebar {
  flex-direction: column;
  gap: 1.5rem;
  display: flex;
}

@media (max-width: 900px) {
  .rdm-item-page-body {
    grid-template-columns: 1fr;
  }
}

.rdm-ms-page-items {
  flex-direction: column;
  display: flex;
}

.rdm-ms-page-item-row {
  border-bottom: 1px solid var(--line);
  text-align: left;
  cursor: pointer;
  width: 100%;
  color: var(--text);
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  align-items: center;
  gap: .6rem;
  padding: .65rem 1rem;
  font-size: .875rem;
  transition: background .1s;
  display: flex;
}

.rdm-ms-page-item-row:last-child {
  border-bottom: none;
}

.rdm-ms-page-item-row:hover {
  background: var(--bg-panel-muted);
}

.rdm-ms-page-item-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  overflow: hidden;
}

.rdm-ms-page-item-badge {
  flex-shrink: 0;
  font-size: .72rem;
}

.rdm-color-row {
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.rdm-color-free-picker {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  cursor: pointer;
  background: none;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  padding: 0;
}

.rdm-color-free-picker::-webkit-color-swatch-wrapper {
  padding: 2px;
}

.rdm-color-free-picker::-webkit-color-swatch {
  border: none;
  border-radius: 3px;
}

.rdm-combobox {
  position: relative;
}

.rdm-combobox-dropdown {
  z-index: 200;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  flex-direction: column;
  max-height: 260px;
  display: flex;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  overflow-y: auto;
  box-shadow: 0 4px 20px #0000001f;
}

[data-theme="dark"] .rdm-combobox-dropdown {
  box-shadow: 0 4px 20px #0006;
}

.rdm-combobox-option {
  text-align: left;
  cursor: pointer;
  width: 100%;
  color: var(--text);
  background: none;
  border: none;
  align-items: baseline;
  gap: .5rem;
  padding: .55rem .75rem;
  font-size: .85rem;
  transition: background .1s;
  display: flex;
}

.rdm-combobox-option:hover {
  background: var(--bg2);
}

.rdm-combobox-option .rdm-picker-result-id {
  font-family: var(--font-mono);
  color: var(--muted2);
  flex-shrink: 0;
  font-size: .75rem;
}

.rdm-combobox-option .rdm-picker-result-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  overflow: hidden;
}

/* [project]/app/styles/login.css [app-client] (css) */
.login-root {
  background-color: #100f0d;
  background-image: radial-gradient(80% 60% at 50% -10%, #c7501a1f 0%, #0000 70%), radial-gradient(60% 40% at 80% 100%, #c7501a12 0%, #0000 60%);
  background-position: 0 0;
  background-repeat: repeat;
  background-size: auto;
  background-attachment: scroll;
  background-origin: padding-box;
  background-clip: border-box;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  min-height: 100vh;
  padding: 2rem 1rem;
  display: flex;
}

.login-card {
  background: #1a1814;
  border: 1px solid #ffffff12;
  border-radius: 18px;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: 400px;
  padding: 2.75rem 2.5rem 2.25rem;
  display: flex;
  box-shadow: 0 0 0 1px #c7501a0f, 0 24px 64px #00000080, 0 4px 16px #0000004d;
}

.login-brand {
  align-items: baseline;
  gap: .35rem;
  margin-bottom: .5rem;
  display: flex;
}

.login-brand-word {
  font-family: var(--font-serif);
  color: #f5f0eb;
  letter-spacing: -.02em;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
}

.login-brand-sup {
  font-family: var(--font-mono);
  letter-spacing: .12em;
  color: var(--accent);
  text-transform: uppercase;
  border: 1px solid #c7501a66;
  border-radius: 4px;
  margin-bottom: 4px;
  padding: 2px 5px;
  font-size: .6rem;
  font-weight: 500;
  line-height: 1.4;
}

.login-tagline {
  color: #b0a89e99;
  letter-spacing: .01em;
  margin-bottom: 2rem;
  font-size: .8rem;
}

.login-form {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.login-field {
  flex-direction: column;
  gap: .4rem;
  display: flex;
}

.login-label {
  color: #b0a89e;
  letter-spacing: .02em;
  font-size: .775rem;
  font-weight: 500;
}

.login-input {
  width: 100%;
  font-family: var(--font-sans);
  color: #f0ebe4;
  -webkit-font-smoothing: antialiased;
  background: #ffffff0a;
  border: 1px solid #ffffff1a;
  border-radius: 9px;
  outline: none;
  padding: .65rem .875rem;
  font-size: .9rem;
  transition: border-color .15s, box-shadow .15s, background .15s;
}

.login-input::placeholder {
  color: #b0a89e59;
}

.login-input:focus {
  background: #ffffff0f;
  border-color: #c7501a99;
  box-shadow: 0 0 0 3px #c7501a1f;
}

.login-error {
  color: #e05c3a;
  background: #e05c3a1a;
  border: 1px solid #e05c3a33;
  border-radius: 7px;
  margin: 0;
  padding: .5rem .75rem;
  font-size: .8rem;
}

.login-btn {
  width: 100%;
  font-family: var(--font-sans);
  color: var(--accent-fg);
  background: var(--accent);
  cursor: pointer;
  letter-spacing: .01em;
  border: none;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  min-height: 42px;
  margin-top: .25rem;
  padding: .7rem 1rem;
  font-size: .875rem;
  font-weight: 500;
  transition: background .15s, transform .1s, box-shadow .15s;
  display: flex;
  box-shadow: 0 2px 8px #c7501a4d;
}

.login-btn:hover:not(:disabled) {
  background: var(--accent2);
  box-shadow: 0 4px 16px #c7501a66;
}

.login-btn:active:not(:disabled) {
  transform: translateY(1px);
}

.login-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.login-btn-spinner {
  border: 2px solid #1113;
  border-top-color: #111;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  animation: .7s linear infinite login-spin;
}

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

.login-demo {
  border-top: 1px solid #ffffff0f;
  flex-direction: column;
  gap: .25rem;
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  display: flex;
}

.login-demo-label {
  color: #b0a89e66;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: .2rem;
  font-size: .7rem;
  font-weight: 500;
}

.login-demo-cred {
  font-family: var(--font-mono);
  color: #b0a89e8c;
  background: #ffffff08;
  border-radius: 5px;
  width: fit-content;
  padding: .25rem .5rem;
  font-size: .78rem;
}

.login-footer {
  color: #b0a89e40;
  letter-spacing: .04em;
  text-align: center;
  margin: 0;
  font-size: .725rem;
}

/* [project]/app/styles/settings.css [app-client] (css) */
.setup-readiness {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--bg-panel);
  align-items: center;
  gap: .6rem;
  margin-bottom: .5rem;
  padding: .65rem .85rem;
  display: flex;
}

.setup-readiness-label {
  color: var(--text2);
  font-size: .85rem;
  font-weight: 500;
}

.setup-readiness-count {
  font-family: var(--font-mono);
  color: var(--muted);
  margin-left: auto;
  font-size: .82rem;
}

.settings-section-title {
  color: var(--text);
  margin-bottom: .25rem;
  font-size: .95rem;
  font-weight: 600;
}

.settings-helper {
  color: var(--muted);
  margin-top: -.25rem;
  font-size: .78rem;
  line-height: 1.5;
}

.settings-secret-row {
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.settings-secret-status {
  align-items: center;
  gap: .35rem;
  font-size: .82rem;
  display: flex;
}

.settings-secret-dot {
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.settings-test-btn {
  font-size: .78rem;
}

.health-dots {
  align-items: center;
  gap: 4px;
  display: flex;
}

.health-dot {
  background: var(--line);
  border-radius: 50%;
  width: 6px;
  height: 6px;
}

.health-dot.done {
  background: var(--accent);
}

.health-dot.warn {
  background: var(--warning);
}

.health-label {
  font-family: var(--font-mono);
  color: var(--muted2);
  margin-left: 4px;
  font-size: .72rem;
}

.failure-panel {
  border-radius: var(--radius);
  background: #fdf6f4;
  border: 1px solid #e8c5be;
  flex-direction: column;
  gap: .4rem;
  padding: .75rem;
  display: flex;
}

.failure-panel-title {
  color: #a0301a;
  font-size: .82rem;
  font-weight: 600;
}

.failure-panel-message {
  color: var(--text2);
  font-size: .8rem;
  line-height: 1.5;
  font-family: var(--font-mono);
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 120px;
  overflow-y: auto;
}

.failure-panel-actions {
  gap: .4rem;
  margin-top: .15rem;
  display: flex;
}

.setup-checklist {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--bg-panel);
  overflow: hidden;
}

.setup-checklist.setup-complete {
  background: #f6fbf8;
  border-color: #b3ddc4;
}

.setup-checklist-header {
  cursor: pointer;
  width: 100%;
  font: inherit;
  color: var(--text);
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: .65rem .85rem;
  display: flex;
}

.setup-checklist-header-left {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.setup-checklist-title {
  font-size: .88rem;
  font-weight: 600;
}

.setup-checklist-pct {
  font-family: var(--font-mono);
  color: var(--muted);
  font-size: .75rem;
}

.setup-checklist-chevron {
  color: var(--muted2);
  font-size: .7rem;
}

.setup-checklist-body {
  border-top: 1px solid var(--line);
  padding: .25rem 0;
}

.setup-step {
  align-items: center;
  gap: .5rem;
  padding: .45rem .85rem;
  display: flex;
}

.setup-step-done {
  opacity: .55;
}

.setup-step-check {
  width: 20px;
  height: 20px;
  color: var(--muted);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: .75rem;
  display: flex;
}

.setup-step-done .setup-step-check {
  color: #1a8c4e;
  background: #e8f5ee;
}

.setup-step-content {
  flex-direction: column;
  flex: 1;
  display: flex;
}

.setup-step-label {
  color: var(--text);
  font-size: .84rem;
  font-weight: 500;
}

.setup-step-detail {
  color: var(--muted);
  font-size: .76rem;
  line-height: 1.4;
}

.setup-step-action {
  color: var(--text);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: none;
  padding: 0;
  font-size: .78rem;
  font-weight: 500;
  text-decoration: none;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .setup-step-action {
    color: var(--accent);
  }
}

[data-theme="dark"] .setup-step-action {
  color: var(--accent);
}

.setup-step-action:hover {
  text-decoration: underline;
}

.setup-ring {
  flex-shrink: 0;
  display: block;
}

.plan-badge {
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  margin-bottom: 1rem;
  display: flex;
}

.plan-badge-left {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.plan-badge-tier-label {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 600;
}

.plan-badge-tier {
  color: var(--text);
  align-items: center;
  gap: 8px;
  font-size: 1.5rem;
  font-weight: 600;
  display: flex;
}

.plan-badge-pro {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  border: 1px solid var(--line);
  border-radius: 3px;
  padding: 2px 5px;
  font-size: .62rem;
  font-weight: 700;
}

.plan-badge-right {
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  display: flex;
}

.plan-badge-seats-label {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 600;
}

.plan-badge-bar-track {
  background: var(--line);
  border-radius: 2px;
  width: 200px;
  height: 4px;
  overflow: hidden;
}

.plan-badge-bar-fill {
  background: var(--accent);
  border-radius: 2px;
  height: 100%;
}

/* [project]/app/styles/notifications.css [app-client] (css) */
.run-toast-stack {
  z-index: 9999;
  pointer-events: none;
  flex-direction: column;
  gap: .5rem;
  width: 100%;
  max-width: 340px;
  display: flex;
  position: fixed;
  bottom: 1.25rem;
  right: 1.25rem;
}

.run-toast {
  background: var(--bg);
  border: 1px solid var(--line);
  pointer-events: all;
  border-radius: 8px;
  align-items: flex-start;
  gap: .6rem;
  padding: .75rem .9rem;
  animation: .2s ease-out toast-in;
  display: flex;
  position: relative;
  box-shadow: 0 4px 16px #00000026, 0 1px 4px #00000014;
}

@keyframes toast-in {
  from {
    opacity: 0;
    transform: translateY(8px)scale(.97);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.run-toast--success {
  border-left: 3px solid #22c55e;
}

.run-toast--failed {
  border-left: 3px solid #ef4444;
}

.run-toast--question {
  border-left: 3px solid #f59e0b;
}

.run-toast-icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 1px;
}

.run-toast-icon--success {
  color: #22c55e;
}

.run-toast-icon--failed {
  color: #ef4444;
}

.run-toast-icon--question {
  color: #f59e0b;
}

.run-toast-body {
  flex-direction: column;
  flex: 1;
  gap: 2px;
  min-width: 0;
  display: flex;
}

.run-toast-label {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text2);
  font-size: 10px;
  font-weight: 700;
}

.run-toast-title {
  color: var(--text);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 13px;
  font-weight: 600;
  overflow: hidden;
}

.run-toast-summary {
  color: var(--text2);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin-top: 1px;
  font-size: 11.5px;
  line-height: 1.45;
  display: -webkit-box;
  overflow: hidden;
}

.run-toast-link {
  color: var(--accent);
  margin-top: 3px;
  font-size: 11px;
  text-decoration: none;
  display: inline-block;
}

.run-toast-link:hover {
  text-decoration: underline;
}

.run-toast-close {
  cursor: pointer;
  color: var(--text2);
  opacity: .6;
  background: none;
  border: none;
  flex-shrink: 0;
  margin-top: -2px;
  padding: 0;
  font-size: 16px;
  line-height: 1;
}

.run-toast-close:hover {
  opacity: 1;
}

.toast-stack {
  z-index: 10000;
  pointer-events: none;
  flex-direction: column;
  gap: .5rem;
  width: 320px;
  display: flex;
  position: fixed;
  bottom: 1.25rem;
  right: 1.25rem;
}

.toast-card {
  background: var(--bg);
  border: 1px solid var(--line);
  pointer-events: all;
  border-radius: 10px;
  align-items: flex-start;
  gap: .6rem;
  padding: .8rem .9rem 1.1rem;
  animation: .25s cubic-bezier(.34, 1.56, .64, 1) toast-slide-in;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 24px #0000001f, 0 2px 6px #00000012;
}

@keyframes toast-slide-in {
  from {
    opacity: 0;
    transform: translateX(24px)scale(.96);
  }

  to {
    opacity: 1;
    transform: translateX(0)scale(1);
  }
}

.toast-card-accent {
  border-radius: 10px 0 0 10px;
  width: 3px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.toast-card--success .toast-card-accent {
  background: #22c55e;
}

.toast-card--error .toast-card-accent {
  background: #ef4444;
}

.toast-card--info .toast-card-accent {
  background: var(--accent);
}

.toast-icon {
  flex-shrink: 0;
  width: 17px;
  height: 17px;
  margin-top: 1px;
}

.toast-icon--success {
  color: #22c55e;
}

.toast-icon--error {
  color: #ef4444;
}

.toast-icon--info {
  color: var(--accent);
}

.toast-card-body {
  flex-direction: column;
  flex: 1;
  gap: 1px;
  min-width: 0;
  display: flex;
}

.toast-card-title {
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}

.toast-card-message {
  color: var(--text2);
  font-size: 12.5px;
  line-height: 1.45;
}

.toast-card--success .toast-card-message, .toast-card--success .toast-card-title {
  color: var(--text);
}

.toast-card-close {
  cursor: pointer;
  color: var(--text2);
  opacity: .5;
  background: none;
  border: none;
  flex-shrink: 0;
  margin-top: -1px;
  padding: 0;
  line-height: 1;
  display: flex;
}

.toast-card-close svg {
  width: 13px;
  height: 13px;
}

.toast-card-close:hover {
  opacity: 1;
}

.toast-card-progress {
  transform-origin: 0;
  border-radius: 0 0 10px 10px;
  width: 100%;
  height: 2.5px;
  animation: linear forwards toast-progress;
  position: absolute;
  bottom: 0;
  left: 0;
}

.toast-card--success .toast-card-progress {
  background: #22c55e;
}

.toast-card--error .toast-card-progress {
  background: #ef4444;
}

.toast-card--info .toast-card-progress {
  background: var(--accent);
}

@keyframes toast-progress {
  from {
    transform: scaleX(1);
  }

  to {
    transform: scaleX(0);
  }
}

/* [project]/app/styles/workflow.css [app-client] (css) */
.wf-project-list {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
  display: grid;
}

.wf-project-card {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem;
  transition: box-shadow .2s, border-color .2s, transform .2s;
  display: flex;
  position: relative;
}

.wf-project-card:before {
  content: "";
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
  opacity: 0;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  height: 2px;
  transition: opacity .25s;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.wf-project-card:hover {
  border-color: var(--line-input);
  transform: translateY(-2px);
  box-shadow: 0 4px 28px #1a18141a;
}

.wf-project-card:hover:before {
  opacity: .5;
}

.wf-project-card-info {
  flex-direction: column;
  flex: 1;
  gap: .35rem;
  min-width: 0;
  display: flex;
}

.wf-project-card-name {
  letter-spacing: -.01em;
  color: var(--text);
  font-size: .95rem;
  font-weight: 600;
  line-height: 1.3;
}

.wf-node-title {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.wf-node-type-badge {
  border-radius: 5px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}

.wf-modal-footer {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
}

.wf-modal-footer-actions {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.wf-delete-btn {
  color: #c7501a;
  font-size: .82rem;
  font-family: var(--font-sans);
  cursor: pointer;
  background: none;
  border: none;
  padding: .25rem 0;
}

.wf-delete-btn:hover {
  text-decoration: underline;
}

.wf-tools-grid {
  flex-wrap: wrap;
  gap: .375rem 1rem;
  padding-top: .1rem;
  display: flex;
}

.wf-tool-item {
  cursor: pointer;
  align-items: center;
  gap: .35rem;
  display: flex;
}

.wf-tool-name {
  font-size: .8rem;
  font-family: var(--font-mono);
  color: var(--text);
}

.wf-checkbox-item {
  cursor: pointer;
  align-items: flex-start;
  gap: .5rem;
  display: flex;
}

.wf-checkbox-item input[type="checkbox"] {
  flex-shrink: 0;
  margin-top: .15rem;
}

.wf-checkbox-content {
  flex-direction: column;
  gap: .2rem;
  display: flex;
}

.wf-checkbox-title {
  color: var(--text);
  font-size: .875rem;
  font-weight: 500;
}

.wf-checkbox-desc {
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.5;
}

.wf-project-card-desc {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .875rem;
  line-height: 1.4;
  overflow: hidden;
}

/* [project]/app/styles/ui.css [app-client] (css) */
.ui-input:focus, .ui-textarea:focus {
  color: var(--text);
}

:is(:root, [data-theme="light"]) .ui-textarea {
  border-color: #999;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .ui-textarea {
    border-color: revert;
  }
}

.idea-more-menu {
  align-items: center;
  display: flex;
  position: relative;
}

.idea-more-btn {
  border-radius: var(--radius-sm);
  cursor: pointer;
  width: 1.75rem;
  height: 1.75rem;
  color: var(--muted2);
  letter-spacing: .05em;
  background: none;
  border: 1px solid #0000;
  justify-content: center;
  align-items: center;
  padding: 0;
  font-size: 1rem;
  line-height: 1;
  transition: background .1s, color .1s, border-color .1s;
  display: flex;
}

.idea-more-btn:hover, .idea-more-btn[aria-expanded="true"] {
  background: var(--bg2);
  color: var(--text);
  border-color: var(--line);
}

.idea-more-dropdown {
  z-index: 200;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  flex-direction: column;
  gap: .1rem;
  min-width: 160px;
  padding: .25rem;
  display: flex;
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  box-shadow: 0 4px 20px #0000001a;
}

[data-theme="dark"] .idea-more-dropdown {
  box-shadow: 0 4px 20px #00000059;
}

.ft-area-more-item {
  text-align: left;
  border-radius: var(--radius-sm);
  width: 100%;
  font-size: .82rem;
  font-family: var(--font-sans);
  color: var(--text);
  cursor: pointer;
  background: none;
  border: none;
  padding: .4rem .65rem;
  transition: background .1s;
}

.ft-area-more-item:hover {
  background: var(--bg2);
}

.idea-more-dropdown-delete {
  text-align: left;
  border-radius: var(--radius-sm);
  width: 100%;
  font-size: .82rem;
  font-family: var(--font-sans);
  color: var(--color-danger);
  cursor: pointer;
  border: none;
  border-top: 1px solid var(--line);
  background: none;
  margin-top: .1rem;
  padding: .4rem .65rem;
  transition: background .1s;
}

.idea-more-dropdown-delete:hover {
  background: var(--badge-critical-bg);
}

.ft-status-btn {
  cursor: pointer;
  border-radius: var(--radius-sm);
  font-size: var(--type-micro);
  font-weight: var(--weight-micro);
  letter-spacing: var(--track-micro);
  text-transform: uppercase;
  white-space: nowrap;
  font-family: var(--font-sans);
  border: 1px solid;
  align-items: center;
  padding: .15rem .45rem;
  transition: filter .1s, opacity .1s;
  display: inline-flex;
}

.ft-status-btn:hover {
  filter: brightness(.92);
}

[data-theme="dark"] .ft-status-btn:hover {
  filter: brightness(1.15);
}

/* [project]/app/globals.css [app-client] (css) */


/*# sourceMappingURL=%5Broot-of-the-server%5D__d493270d._.css.map*/