:root {
  --ct-navy-950: #10243a;
  --ct-navy-900: #152b43;
  --ct-slate-800: #253b53;
  --ct-slate-600: #52657b;
  --ct-slate-500: #617187;
  --ct-slate-400: #8090a4;
  --ct-border: #dae2ec;
  --ct-canvas: #f4f6f9;
  --ct-panel: #ffffff;
  --ct-blue: #175cd3;
  --ct-blue-soft: #eaf1ff;
  --ct-success: #08744d;
  --ct-success-soft: #eaf6ef;
  --ct-warning: #8a4b08;
  --ct-warning-soft: #fff4e5;
  --ct-danger: #b42318;
  --ct-danger-soft: #fff0ee;
  --ct-focus: #175cd3;
  --ct-radius: 8px;
  --ct-shadow: 0 16px 42px rgba(16, 36, 58, .12);
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; background: var(--ct-canvas); }
body {
  margin: 0;
  background: var(--ct-canvas);
  color: var(--ct-slate-800);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
a { color: var(--ct-blue); font-weight: 600; text-decoration: none; }
a:hover { text-decoration: underline; }
:focus-visible { outline: 2px solid var(--ct-focus); outline-offset: 2px; }

.ct-auth-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(280px, 38%) minmax(440px, 1fr);
  background: var(--ct-panel);
}
.ct-auth-brand {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 42px 48px;
  color: #fff;
  background: var(--ct-navy-950);
  min-height: 100vh;
}
.ct-brand-wordmark {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #fff;
  font-size: 24px;
  line-height: 30px;
  font-weight: 650;
  letter-spacing: -.7px;
}
.ct-brand-mark {
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  letter-spacing: -.2px;
}
.ct-auth-brand-copy { max-width: 420px; }
.ct-auth-brand-copy h2 {
  margin: 0 0 13px;
  color: #fff;
  font-size: clamp(25px, 3vw, 38px);
  line-height: 1.16;
  letter-spacing: -1.2px;
  font-weight: 620;
}
.ct-auth-brand-copy p { margin: 0; color: #c3d1df; font-size: 15px; line-height: 1.7; }
.ct-auth-brand-foot { color: #aec0d2; font-size: 12px; }

.ct-auth-main {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px clamp(28px, 6vw, 96px);
  background: #fff;
}
.ct-auth-panel { width: min(100%, 470px); }
.ct-auth-heading { margin-bottom: 27px; }
.ct-auth-heading .ct-eyebrow {
  display: block;
  color: var(--ct-blue);
  text-transform: uppercase;
  letter-spacing: .9px;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 8px;
}
.ct-auth-heading h1 {
  margin: 0;
  color: var(--ct-navy-900);
  font-size: 29px;
  line-height: 38px;
  letter-spacing: -.8px;
  font-weight: 640;
}
.ct-auth-heading p { margin: 7px 0 0; color: var(--ct-slate-600); font-size: 14px; line-height: 1.6; }
.ct-auth-form { display: flex; flex-direction: column; gap: 17px; }
.ct-field { display: flex; flex-direction: column; gap: 7px; }
.ct-field label, .ct-choice-label { color: var(--ct-slate-800); font-size: 13px; font-weight: 600; }
.ct-required { color: var(--ct-danger); }
.ct-input {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  color: var(--ct-navy-900);
  background: #fff;
  border: 1px solid var(--ct-slate-400);
  border-radius: 6px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.ct-input:hover { border-color: var(--ct-slate-600); }
.ct-input:focus { border-color: var(--ct-blue); box-shadow: 0 0 0 3px rgba(23,92,211,.11); outline: 0; }
.ct-input[aria-invalid="true"] { border-color: var(--ct-danger); }
.ct-field-help { color: var(--ct-slate-600); font-size: 12px; line-height: 17px; }
.ct-field-error { color: var(--ct-danger); font-size: 12px; line-height: 17px; }
.ct-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ct-checkbox-row { display: flex; align-items: flex-start; gap: 10px; color: var(--ct-slate-600); font-size: 12px; line-height: 18px; }
.ct-checkbox-row input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--ct-blue); flex: 0 0 auto; }
.ct-auth-between { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 12px; }
.ct-button {
  min-height: 42px;
  padding: 10px 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--ct-slate-400);
  border-radius: 6px;
  color: var(--ct-slate-800);
  background: #fff;
  font-weight: 650;
  cursor: pointer;
}
.ct-button:hover { background: #f8fafc; text-decoration: none; }
.ct-button--primary { color: #fff; background: var(--ct-blue); border-color: var(--ct-blue); }
.ct-button--primary:hover { background: #124eaf; }
.ct-button--danger { color: #fff; background: var(--ct-danger); border-color: var(--ct-danger); }
.ct-button--danger:hover { color: #fff; background: #8f1d14; border-color: #8f1d14; }
.ct-button--full { width: 100%; }
.ct-button:disabled { cursor: not-allowed; color: var(--ct-slate-500); background: #f1f3f6; border-color: var(--ct-border); }
.ct-button[data-loading="true"]::before {
  content: "";
  width: 15px;
  height: 15px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: ct-spin .8s linear infinite;
}
@keyframes ct-spin { to { transform: rotate(360deg); } }

.ct-action-bar { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; }
.ct-workflow-form { display: grid; gap: 20px; max-width: 920px; }
.ct-form-section { display: grid; gap: 16px; padding: 20px; border: 1px solid var(--ct-border); border-radius: 8px; background: #fff; }
.ct-form-section[hidden] { display: none !important; }
.ct-form-section > header h2 { margin: 0; color: var(--ct-navy-900); font-size: 17px; }
.ct-form-section > header p { margin: 5px 0 0; color: var(--ct-slate-600); font-size: 13px; line-height: 1.5; }
.ct-form-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; padding-top: 4px; }
.ct-state-form { margin-top: 18px; }

.ct-notice {
  display: flex;
  gap: 11px;
  padding: 13px 14px;
  border: 1px solid var(--ct-border);
  border-radius: 6px;
  color: var(--ct-slate-800);
  background: #f8fafc;
  font-size: 12px;
  line-height: 18px;
}
.ct-notice--danger { color: var(--ct-danger); border-color: #f0c7c3; background: var(--ct-danger-soft); }
.ct-notice--warning { color: var(--ct-warning); border-color: #edd3aa; background: var(--ct-warning-soft); }
.ct-notice--success { color: var(--ct-success); border-color: #cbe4d7; background: var(--ct-success-soft); }
.ct-notice[hidden], .ct-auth-errors[hidden] { display: none; }
.ct-auth-errors { margin: 0; padding: 0 0 0 18px; color: var(--ct-danger); font-size: 12px; }
.ct-auth-errors li + li { margin-top: 4px; }
.ct-auth-footer { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--ct-border); color: var(--ct-slate-600); font-size: 12px; text-align: center; }
.ct-auth-secondary { margin-top: 19px; text-align: center; color: var(--ct-slate-600); font-size: 13px; }
.ct-state-mark {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: var(--ct-blue);
  background: var(--ct-blue-soft);
  font-weight: 750;
  margin-bottom: 18px;
}
.ct-auth-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.ct-summary {
  margin: 0;
  padding: 15px;
  display: grid;
  gap: 11px;
  border: 1px solid var(--ct-border);
  border-radius: 6px;
  background: #f8fafc;
}
.ct-summary div { display: grid; grid-template-columns: 125px minmax(0, 1fr); gap: 12px; }
.ct-summary dt { color: var(--ct-slate-600); font-size: 12px; font-weight: 600; }
.ct-summary dd { margin: 0; color: var(--ct-navy-900); font-size: 12px; overflow-wrap: anywhere; }
.ct-onboarding-guidance { padding: 15px; border-left: 3px solid var(--ct-blue); background: var(--ct-blue-soft); }
.ct-onboarding-guidance h2 { margin: 0 0 8px; color: var(--ct-navy-900); font-size: 14px; }
.ct-onboarding-guidance ul { margin: 0; padding-left: 18px; color: var(--ct-slate-800); font-size: 12px; }
.ct-onboarding-guidance li + li { margin-top: 5px; }
.ct-onboarding-guidance p { margin: 10px 0 0; color: var(--ct-slate-600); font-size: 12px; }

.ct-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.ct-skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 1100;
  padding: 9px 12px;
  color: #fff;
  background: var(--ct-blue);
  border-radius: 5px;
  transform: translateY(-160%);
}
.ct-skip-link:focus { transform: translateY(0); }

.ct-app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 224px minmax(0, 1fr);
  background: var(--ct-canvas);
}
.ct-rail {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 100vh;
  min-width: 0;
  overflow-y: auto;
  color: #dbe6f0;
  background: var(--ct-navy-950);
  border-right: 1px solid rgba(255,255,255,.08);
}
.ct-rail-brand {
  height: 60px;
  padding: 0 20px;
  display: flex;
  align-items: center;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.1);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -.45px;
}
.ct-rail-brand:hover { color: #fff; text-decoration: none; background: rgba(255,255,255,.04); }
.ct-rail-brand-compact { display: none; }
.ct-rail-nav { padding: 14px 10px 28px; }
.ct-nav-group + .ct-nav-group { margin-top: 19px; }
.ct-nav-group h2 {
  margin: 0 10px 6px;
  color: #94a9bd;
  font-size: 10px;
  line-height: 18px;
  letter-spacing: .85px;
  text-transform: uppercase;
}
.ct-nav-item {
  min-height: 38px;
  padding: 7px 9px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #c7d6e5;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 570;
}
.ct-nav-item + .ct-nav-item { margin-top: 2px; }
.ct-nav-item:hover { color: #fff; background: rgba(255,255,255,.07); text-decoration: none; }
.ct-nav-item.is-active { color: #fff; background: #1e4263; box-shadow: inset 3px 0 0 #6ea8ff; }
.ct-nav-glyph {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #a9bfd3;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 5px;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: .25px;
}
.ct-nav-item.is-active .ct-nav-glyph { color: #fff; border-color: rgba(255,255,255,.33); }
.ct-nav-gate {
  margin-left: auto;
  padding: 2px 5px;
  color: #f3d8a5;
  border: 1px solid rgba(243,216,165,.3);
  border-radius: 4px;
  font-size: 9px;
  line-height: 14px;
  font-weight: 650;
}

.ct-app-main { min-width: 0; }
.ct-topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  height: 60px;
  padding: 0 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: #fff;
  border-bottom: 1px solid var(--ct-border);
}
.ct-mobile-menu {
  display: none;
  min-height: 36px;
  padding: 7px 10px;
  color: var(--ct-navy-900);
  background: #fff;
  border: 1px solid var(--ct-border);
  border-radius: 5px;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .6px;
  cursor: pointer;
}
.ct-context { min-width: 0; display: flex; align-items: center; gap: 10px; color: var(--ct-slate-600); font-size: 12px; }
.ct-context strong { max-width: min(420px, 38vw); overflow: hidden; color: var(--ct-navy-900); text-overflow: ellipsis; white-space: nowrap; }
.ct-context-divider { width: 1px; height: 18px; background: var(--ct-border); }
.ct-user-menu { position: relative; margin-left: auto; }
.ct-user-menu > summary {
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--ct-slate-800);
  cursor: pointer;
  list-style: none;
}
.ct-user-menu > summary::-webkit-details-marker { display: none; }
.ct-user-name { max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 600; }
.ct-avatar {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--ct-navy-900);
  border-radius: 50%;
  font-size: 10px;
  font-weight: 750;
}
.ct-user-menu-panel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 80;
  width: 252px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--ct-border);
  border-radius: 7px;
  box-shadow: var(--ct-shadow);
}
.ct-user-menu-panel > div:first-child { padding: 7px 8px 10px; display: grid; gap: 2px; border-bottom: 1px solid var(--ct-border); }
.ct-user-menu-panel > div:first-child strong { color: var(--ct-navy-900); font-size: 12px; }
.ct-user-menu-panel > div:first-child span { color: var(--ct-slate-600); font-size: 11px; overflow-wrap: anywhere; }
.ct-user-menu-panel > a,
.ct-user-menu-panel form button {
  width: 100%;
  min-height: 36px;
  padding: 8px;
  display: flex;
  align-items: center;
  color: var(--ct-slate-800);
  background: transparent;
  border: 0;
  border-radius: 5px;
  font-size: 12px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}
.ct-user-menu-panel > a { margin-top: 5px; }
.ct-user-menu-panel > a:hover,
.ct-user-menu-panel form button:hover { background: #f2f5f8; text-decoration: none; }
.ct-user-menu-panel .ct-notice { margin: 6px 0; }

.ct-working-context {
  min-height: 36px;
  padding: 7px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: #5e3908;
  background: #fff4df;
  border-bottom: 1px solid #ead2a7;
  font-size: 12px;
}
.ct-working-context a { color: #75460a; }
.ct-working-context form { margin: 0; }
.ct-context-return { padding: 0; color: #75460a; background: transparent; border: 0; font: inherit; text-decoration: underline; cursor: pointer; }
.ct-context-entry { max-width: 760px; margin-top: 16px; padding: 14px 15px; background: #fff; border: 1px solid var(--ct-border); border-radius: var(--ct-radius); }
.ct-page { padding: 26px 28px 44px; }
.ct-page-header { margin-bottom: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.ct-page-header h1 { margin: 0; color: var(--ct-navy-900); font-size: 26px; line-height: 34px; letter-spacing: -.55px; font-weight: 660; }
.ct-page-header p { max-width: 720px; margin: 5px 0 0; color: var(--ct-slate-600); font-size: 13px; line-height: 20px; }
.ct-home-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 18px; }
.ct-panel { min-width: 0; background: #fff; border: 1px solid var(--ct-border); border-radius: var(--ct-radius); }
.ct-panel > header { min-height: 49px; padding: 11px 15px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--ct-border); }
.ct-panel h2 { margin: 0; color: var(--ct-navy-900); font-size: 14px; line-height: 20px; font-weight: 650; }
.ct-panel--attention { border-top: 3px solid #d09a43; }
.ct-media-panel { margin-top: 16px; }
.ct-media-body { padding: 15px; }
.ct-media-body audio { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.ct-media-controls { display: grid; grid-template-columns: auto auto minmax(180px,1fr) auto auto; align-items: center; gap: 10px; }
.ct-media-seek { display: grid; grid-template-columns: auto minmax(120px,1fr); align-items: center; gap: 8px; color: var(--ct-slate-700); font-size: 12px; font-weight: 650; }
.ct-media-seek input { width: 100%; accent-color: var(--ct-blue); }
.ct-media-controls output { min-width: 90px; color: var(--ct-navy-900); font-variant-numeric: tabular-nums; text-align: center; }
.ct-media-message { margin: 12px 0 0; color: var(--ct-slate-600); font-size: 12px; }
.ct-live-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,440px); gap: 20px; align-items: start; }
.ct-live-list { min-width: 0; }
.ct-live-observation { margin-bottom: 16px; background: #fff; border: 1px solid var(--ct-border); border-radius: var(--ct-radius); }
.ct-live-observation > header { padding: 12px 15px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--ct-border); }
.ct-live-observation h2 { margin: 0; color: var(--ct-navy-900); font-size: 14px; }
.ct-live-observation header p { margin: 3px 0 0; color: var(--ct-slate-600); font-size: 11px; }
.ct-live-state-grid { margin: 0; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); border-bottom: 1px solid var(--ct-border); }
.ct-live-inspector { min-width: 0; position: sticky; top: 76px; }
.ct-live-inspector > header > div { min-width: 0; }
.ct-live-inspector .ct-live-state-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ct-live-state-grid > div { padding: 11px 14px; border-right: 1px solid var(--ct-border); }
.ct-live-state-grid > div:last-child { border-right: 0; }
.ct-live-inspector .ct-live-state-grid > div { border-bottom: 1px solid var(--ct-border); }
.ct-live-inspector .ct-live-state-grid > div:nth-child(even) { border-right: 0; }
.ct-live-inspector .ct-live-state-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
.ct-live-state-grid dt { color: var(--ct-slate-500); font-size: 10px; font-weight: 650; letter-spacing: .3px; text-transform: uppercase; }
.ct-live-state-grid dd { margin: 4px 0 0; color: var(--ct-navy-900); font-size: 12px; font-weight: 650; }
.ct-live-observation audio { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.ct-live-controls { padding: 12px 14px 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ct-live-privileged-controls { align-items: flex-start; padding-top: 8px; }
.ct-live-terminate { margin-left: auto; }
.ct-live-more { position: relative; }
.ct-live-more > summary { min-width: 0; list-style: none; white-space: normal; }
.ct-live-more > summary::-webkit-details-marker { display: none; }
.ct-live-more-panel { min-width: 180px; margin-top: 6px; padding: 8px; display: grid; gap: 7px; background: #fff; border: 1px solid var(--ct-border); border-radius: 6px; box-shadow: var(--ct-shadow); }
.ct-live-more:not([open]) .ct-live-more-panel { display: none; }
.ct-table tr.is-selected { background: var(--ct-blue-soft); box-shadow: inset 3px 0 0 var(--ct-blue); }
.ct-live-observation > p { margin: 0; padding: 10px 14px 14px; color: var(--ct-slate-600); font-size: 12px; }
.ct-confirm-dialog { width: min(460px,calc(100vw - 32px)); padding: 0; color: var(--ct-navy-900); background: #fff; border: 1px solid var(--ct-border); border-radius: var(--ct-radius); box-shadow: 0 18px 48px rgba(15,35,64,.24); }
.ct-confirm-dialog::backdrop { background: rgba(15,35,64,.5); }
.ct-confirm-dialog form { padding: 20px; }
.ct-confirm-dialog h2 { margin: 0; font-size: 18px; }
.ct-confirm-dialog p { margin: 10px 0 18px; color: var(--ct-slate-600); line-height: 1.5; }
.ct-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; }
.ct-badge { padding: 3px 7px; border-radius: 999px; font-size: 10px; line-height: 15px; font-weight: 650; }
.ct-badge--neutral { color: var(--ct-slate-600); background: #eef2f6; }
.ct-empty-state { min-height: 188px; padding: 28px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.ct-empty-state h3 { margin: 0 0 6px; color: var(--ct-navy-900); font-size: 15px; }
.ct-empty-state p { max-width: 620px; margin: 0; color: var(--ct-slate-600); font-size: 12px; line-height: 19px; }
.ct-nav-scrim { display: none; }

.ct-filter-bar { margin-bottom: 16px; padding: 13px 15px; background: #fff; border: 1px solid var(--ct-border); border-radius: var(--ct-radius); }
.ct-filter-search { max-width: 560px; display: grid; gap: 6px; }
.ct-filter-search label { color: var(--ct-slate-800); font-size: 12px; font-weight: 650; }
.ct-filter-search > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.ct-filter-search .ct-input, .ct-filter-search .ct-button { min-height: 38px; }
.ct-work-region { min-width: 0; background: #fff; border: 1px solid var(--ct-border); border-radius: var(--ct-radius); }
.ct-work-region-header { min-height: 58px; padding: 11px 15px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--ct-border); }
.ct-work-region-header h2 { margin: 0; color: var(--ct-navy-900); font-size: 15px; line-height: 21px; }
.ct-work-region-header p { margin: 3px 0 0; color: var(--ct-slate-600); font-size: 11px; line-height: 17px; }
.ct-update-state { color: var(--ct-slate-600); font-size: 11px; font-weight: 650; }
.ct-update-state::before { content: ""; width: 7px; height: 7px; margin-right: 6px; display: inline-block; background: var(--ct-blue); border-radius: 50%; }
.ct-table-region { max-width: 100%; overflow-x: auto; }
.ct-table { width: 100%; border-collapse: collapse; color: var(--ct-slate-800); font-size: 12px; }
.ct-table th, .ct-table td { min-height: 48px; padding: 12px 14px; border-bottom: 1px solid var(--ct-border); text-align: left; vertical-align: middle; }
.ct-table thead th { height: 40px; padding-top: 9px; padding-bottom: 9px; color: var(--ct-slate-600); background: #f8fafc; font-size: 10px; letter-spacing: .35px; text-transform: uppercase; }
.ct-table tbody th { color: var(--ct-navy-900); font-weight: 650; }
.ct-table tbody tr:hover { background: #f7f9fc; }
.ct-cell-numeric { text-align: right !important; font-variant-numeric: tabular-nums; }
.ct-status { display: inline-flex; align-items: center; min-height: 21px; padding: 2px 6px; border-radius: 4px; font-size: 10px; line-height: 15px; font-weight: 680; }
.ct-status--neutral { color: var(--ct-slate-600); background: #eef2f6; }
.ct-status--information { color: #184f9f; background: var(--ct-blue-soft); }
.ct-status--success { color: var(--ct-success); background: var(--ct-success-soft); }
.ct-status--attention { color: var(--ct-warning); background: var(--ct-warning-soft); }
.ct-status--failure { color: var(--ct-danger); background: var(--ct-danger-soft); }
.ct-region-state { min-height: 150px; padding: 28px; display: flex; flex-direction: column; justify-content: center; }
.ct-region-state h3 { margin: 0 0 6px; color: var(--ct-navy-900); font-size: 14px; }
.ct-region-state p { max-width: 620px; margin: 0; color: var(--ct-slate-600); font-size: 12px; line-height: 19px; }
.ct-region-state--error { border-left: 3px solid var(--ct-danger); }
.ct-pagination { min-height: 50px; padding: 9px 14px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--ct-slate-600); font-size: 11px; }
.ct-pagination > div { display: flex; gap: 7px; }
.ct-page-control { min-height: 32px; padding: 6px 10px; display: inline-flex; align-items: center; color: var(--ct-slate-800); border: 1px solid var(--ct-border); border-radius: 5px; font-weight: 600; }
.ct-page-control:hover { background: #f7f9fc; text-decoration: none; }
.ct-page-control.is-disabled { color: var(--ct-slate-400); background: #f8fafc; }
.ct-definition-panel { max-width: 760px; background: #fff; border: 1px solid var(--ct-border); border-radius: var(--ct-radius); }
.ct-definition-panel > header { min-height: 50px; padding: 12px 15px; display: flex; align-items: center; border-bottom: 1px solid var(--ct-border); }
.ct-definition-panel h2 { margin: 0; color: var(--ct-navy-900); font-size: 14px; }
.ct-definition-panel dl { margin: 0; }
.ct-definition-panel dl > div { min-height: 48px; padding: 11px 15px; display: grid; grid-template-columns: minmax(130px, 30%) minmax(0, 1fr); gap: 18px; border-bottom: 1px solid var(--ct-border); }
.ct-definition-panel dl > div:last-child { border-bottom: 0; }
.ct-definition-panel dt { color: var(--ct-slate-600); font-size: 11px; font-weight: 650; }
.ct-definition-panel dd { margin: 0; color: var(--ct-navy-900); font-size: 12px; overflow-wrap: anywhere; }
.ct-inline-notice { max-width: 760px; margin-top: 16px; padding: 13px 15px; border: 1px solid var(--ct-border); border-left-width: 3px; border-radius: 6px; background: #fff; }
.ct-inline-notice strong { display: block; color: var(--ct-navy-900); font-size: 12px; }
.ct-inline-notice p { margin: 4px 0 0; color: var(--ct-slate-600); font-size: 12px; line-height: 18px; }
.ct-inline-notice--neutral { border-left-color: var(--ct-slate-400); }
.ct-inline-notice--information { border-left-color: var(--ct-blue); }
.ct-inline-notice--success { border-left-color: var(--ct-success); }
.ct-inline-notice--attention { border-left-color: #d09a43; }
.ct-inline-notice--failure { border-left-color: var(--ct-danger); }

.ct-product-shell { min-height: 100vh; background: var(--ct-canvas); }
.ct-product-shell > header {
  height: 66px;
  padding: 0 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--ct-border);
  background: #fff;
}
.ct-brand-wordmark--dark { color: var(--ct-navy-900); }
.ct-brand-wordmark--dark .ct-brand-mark { border-color: var(--ct-slate-400); }
.ct-product-context { color: var(--ct-slate-600); font-size: 12px; }
.ct-product-shell > section { max-width: 1160px; margin: 0 auto; padding: 54px 32px; }
.ct-product-shell h1 { margin: 8px 0; color: var(--ct-navy-900); font-size: 32px; letter-spacing: -.8px; }
.ct-product-shell p { max-width: 640px; color: var(--ct-slate-600); }

@media (max-width: 900px) {
  .ct-auth-shell { grid-template-columns: 1fr; }
  .ct-auth-brand { min-height: auto; padding: 20px 28px; flex-direction: row; align-items: center; }
  .ct-auth-brand-copy, .ct-auth-brand-foot { display: none; }
  .ct-auth-main { min-height: calc(100vh - 70px); padding: 38px 28px; }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  .ct-app-shell { grid-template-columns: 64px minmax(0, 1fr); }
  .ct-rail-brand { justify-content: center; padding: 0; font-size: 13px; }
  .ct-rail-brand-full, .ct-nav-group h2, .ct-nav-item > span:not(.ct-nav-glyph), .ct-nav-gate { display: none; }
  .ct-rail-brand-compact { display: inline; }
  .ct-rail-nav { padding: 12px 8px 24px; }
  .ct-nav-group + .ct-nav-group { margin-top: 12px; }
  .ct-nav-item { justify-content: center; padding: 7px; }
}

@media (max-width: 1023px) {
  .ct-app-shell { display: block; }
  .ct-live-layout { grid-template-columns: 1fr; }
  .ct-live-inspector { position: static; grid-row: 1; }
  .ct-rail { position: fixed; left: 0; width: min(280px, calc(100vw - 44px)); transform: translateX(-105%); transition: transform .18s ease; box-shadow: var(--ct-shadow); }
  .ct-app-shell[data-navigation-open="true"] .ct-rail { transform: translateX(0); }
  .ct-mobile-menu { display: inline-flex; }
  .ct-topbar { padding: 0 20px; }
  .ct-context { margin-right: auto; }
  .ct-nav-scrim { position: fixed; inset: 0; z-index: 45; width: 100%; height: 100%; padding: 0; background: rgba(16,36,58,.48); border: 0; }
  .ct-app-shell[data-navigation-open="true"] .ct-nav-scrim { display: block; }
  body.ct-navigation-open { overflow: hidden; }
}

@media (max-width: 560px) {
  .ct-auth-brand { padding: 16px; }
  .ct-brand-wordmark { font-size: 21px; }
  .ct-auth-main { align-items: flex-start; padding: 30px 16px 44px; }
  .ct-auth-heading h1 { font-size: 25px; line-height: 33px; }
  .ct-field-row { grid-template-columns: 1fr; gap: 17px; }
  .ct-input { min-height: 48px; font-size: 16px; }
  .ct-button { min-height: 48px; }
  .ct-auth-between { align-items: flex-start; flex-direction: column; }
  .ct-summary div { grid-template-columns: 1fr; gap: 3px; }
  .ct-product-shell > header { padding: 0 16px; }
  .ct-product-context { max-width: 44%; text-align: right; }
  .ct-product-shell > section { padding: 34px 18px; }
  .ct-topbar { padding: 0 16px; gap: 10px; }
  .ct-context { gap: 7px; }
  .ct-context strong { max-width: 112px; }
  .ct-user-name { display: none; }
  .ct-working-context { padding: 8px 16px; align-items: flex-start; flex-direction: column; gap: 4px; }
  .ct-page { padding: 22px 16px 36px; }
  .ct-page-header h1 { font-size: 23px; line-height: 30px; }
  .ct-home-grid { grid-template-columns: 1fr; }
  .ct-empty-state { min-height: 150px; padding: 22px; }
  .ct-filter-bar { padding: 12px; }
  .ct-filter-search > div { grid-template-columns: 1fr; }
  .ct-filter-search .ct-input, .ct-filter-search .ct-button { min-height: 44px; }
  .ct-table-region { overflow: visible; }
  .ct-table, .ct-table tbody, .ct-table tr, .ct-table th, .ct-table td { display: block; width: 100%; }
  .ct-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .ct-table tbody tr { padding: 12px 14px; border-bottom: 1px solid var(--ct-border); }
  .ct-table th, .ct-table td { min-height: 0; padding: 4px 0; display: grid; grid-template-columns: minmax(92px, 38%) minmax(0, 1fr); gap: 10px; border: 0; text-align: left !important; }
  .ct-table th::before, .ct-table td::before { content: attr(data-label); color: var(--ct-slate-600); font-size: 10px; font-weight: 650; letter-spacing: .25px; text-transform: uppercase; }
  .ct-pagination { align-items: flex-start; flex-direction: column; }
  .ct-page-control { min-height: 44px; }
  .ct-definition-panel dl > div { grid-template-columns: 1fr; gap: 3px; }
  .ct-media-controls { grid-template-columns: 1fr 1fr; }
  .ct-media-seek, .ct-media-controls output { grid-column: 1 / -1; }
  .ct-live-state-grid { grid-template-columns: 1fr 1fr; }
  .ct-live-primary-controls .ct-button { flex: 1 1 calc(50% - 8px); }
  .ct-live-privileged-controls { display: grid; grid-template-columns: 1fr 1fr; }
  .ct-live-primary-controls .ct-button, .ct-live-privileged-controls .ct-button, .ct-live-privileged-controls .ct-live-more { min-width: 0; width: 100%; white-space: normal; }
  .ct-live-terminate { margin-left: 0; }
  .ct-live-state-grid > div { border-bottom: 1px solid var(--ct-border); }
  .ct-live-state-grid > div:nth-child(even) { border-right: 0; }
  .ct-live-state-grid > div:last-child { grid-column: 1 / -1; border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
