:root {
  font-family: "DM Sans", sans-serif;
  color: #111b47;
  background: #f7f9ff;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  --blue: #315cff;
  --blue-deep: #234be8;
  --navy: #101a49;
  --muted: #6e7da6;
  --border: #e5eafb;
  --shadow: 0 16px 45px rgba(37, 62, 141, .07);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid #85a1ff;
  outline-offset: 2px;
}
.icon { flex: none; vertical-align: middle; }
.app-shell { min-height: 100dvh; display: flex; }
.sidebar {
  width: 238px;
  flex: none;
  min-height: 100dvh;
  background: #fff;
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  padding: 31px 14px 18px;
  position: sticky;
  top: 0;
  height: 100dvh;
  z-index: 20;
}
.brand {
  display: flex;
  align-items: flex-start;
  margin: 0 13px 44px;
  font-family: Manrope, sans-serif;
  font-size: 27px;
  font-weight: 800;
  letter-spacing: -.075em;
  line-height: 1;
}
.brand-blue, .brand-spark { color: var(--blue); }
.brand-spark { font-size: 23px; letter-spacing: 0; margin: -6px 0 0 2px; }
.workspace-label, .eyebrow {
  color: #9da9c7;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
}
.workspace-label { margin: 0 16px 12px; }
.sidebar nav { display: grid; gap: 4px; }
.nav-item {
  min-height: 43px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  gap: 13px;
  border-radius: 10px;
  color: #53628c;
  font-size: 13px;
  font-weight: 700;
  transition: background .18s, color .18s, transform .18s;
}
.nav-item:hover { color: var(--blue); background: #f3f6ff; }
.nav-item.active { background: #edf2ff; color: var(--blue); }
.nav-item.active::before {
  content: "";
  position: absolute;
  left: 0;
  height: 27px;
  width: 3px;
  background: var(--blue);
  border-radius: 0 5px 5px 0;
}
.nav-item .nav-count {
  margin-left: auto;
  padding: 2px 6px;
  background: var(--blue);
  color: #fff;
  border-radius: 99px;
  font-size: 10px;
}
.sidebar-bottom { margin-top: auto; display: grid; gap: 13px; }
.sidebar-quote {
  height: 154px;
  margin: 0 4px 5px;
  padding: 21px;
  border-radius: 15px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #dbe2ff, #cedafe 48%, #a4b8ee);
  color: #3d5bb3;
  font: 800 19px/1.14 Manrope, sans-serif;
  letter-spacing: -.05em;
}
.sidebar-quote::after {
  content: "";
  position: absolute;
  width: 210px;
  height: 70px;
  right: -39px;
  bottom: -14px;
  background: #8aa7ea;
  transform: rotate(-17deg);
  border-radius: 70% 40% 0 0;
  opacity: .63;
}
.quote-spark { position: absolute; right: 21px; top: 18px; color: #fff; }
.sidebar-profile {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 13px 8px 0;
  border-top: 1px solid var(--border);
}
.sidebar-profile > span:nth-child(2) { flex: 1; min-width: 0; }
.sidebar-profile strong, .sidebar-profile small { display: block; }
.sidebar-profile strong { font-size: 11px; }
.sidebar-profile small { color: var(--muted); font-size: 10px; }
.sidebar-profile .icon { color: #8895b8; }
.avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: none;
  color: #3154d7;
  background: #dfe8ff;
  font: 800 11px Manrope, sans-serif;
}
.avatar-small { width: 31px; height: 31px; }
.main-area { min-width: 0; flex: 1; }
.topbar {
  height: 70px;
  padding: 0 33px;
  border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,.93);
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 15;
  backdrop-filter: blur(16px);
}
.breadcrumb { color: #8692b2; font-size: 12px; }
.breadcrumb span { margin: 0 9px; color: #bfc8df; }
.breadcrumb strong { color: #243057; font-weight: 700; }
.topbar-actions { display: flex; align-items: center; gap: 15px; }
.demo-chip {
  padding: 6px 10px;
  border-radius: 99px;
  background: #eef3ff;
  color: #4262cb;
  font-size: 10px;
  font-weight: 800;
}
.top-action, .icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 0;
  background: transparent;
  color: #68789d;
}
.top-action { font-size: 11px; font-weight: 800; }
.top-action:hover, .icon-button:hover { color: var(--blue); }
.icon-button { width: 34px; height: 34px; border-radius: 9px; }
.icon-button:hover { background: #eef2ff; }
.mobile-menu, .mobile-tabs { display: none; }
.sidebar-close { display: none; }
.content { max-width: 1620px; padding: 27px 25px 55px; margin: 0 auto; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: Manrope, sans-serif; letter-spacing: -.045em; }
h1 { font-size: clamp(28px, 3vw, 39px); line-height: 1.16; margin-bottom: 8px; }
h2 { font-size: 18px; line-height: 1.3; margin-bottom: 5px; }
h3 { font-size: 14px; line-height: 1.35; margin-bottom: 6px; }
p { line-height: 1.5; }
.today-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 295px;
  gap: 17px;
  align-items: start;
}
.main-column, .rail { min-width: 0; }
.rail { display: grid; gap: 15px; }
.hero {
  height: clamp(205px, 22vw, 280px);
  border-radius: 16px;
  background: #1e3467 url("./nordic-lake.png") center 51% / cover no-repeat;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8,24,68,.72) 0%, rgba(8,24,68,.28) 52%, transparent 100%);
}
.hero-copy {
  position: relative;
  z-index: 1;
  color: #fff;
  padding: clamp(27px, 4vw, 48px);
  max-width: 590px;
}
.hero-kicker { display: block; margin-bottom: 9px; font-size: 10px; letter-spacing: .18em; font-weight: 800; opacity: .77; }
.hero h1 { margin-bottom: 6px; font-size: clamp(25px, 3vw, 39px); }
.hero p { margin-bottom: 19px; font-size: 13px; color: #e5ecff; max-width: 360px; }
.wave { display: inline-block; font-size: .62em; color: #ffcd77; margin-left: 8px; vertical-align: 3px; }
.button {
  border: 1px solid transparent;
  border-radius: 9px;
  padding: 10px 15px;
  min-height: 37px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
  transition: transform .17s, background .17s, box-shadow .17s;
}
.button:hover { transform: translateY(-1px); }
.button-primary { background: var(--blue); color: #fff; box-shadow: 0 5px 12px rgba(49,92,255,.17); }
.button-primary:hover { background: var(--blue-deep); }
.button-white { background: #fff; color: #244ee5; }
.button-white:hover { background: #eef3ff; }
.button-soft { background: #eef3ff; color: #2852e8; }
.button-soft:hover { background: #e2eaff; }
.button-dark { background: #172653; color: #fff; }
.button-outline-danger { border-color: #ffd6dd; background: #fff; color: #c13d58; }
.button-small { padding: 8px 13px; min-height: 32px; }
.button-wide { width: 100%; min-height: 46px; font-size: 13px; }
.stat-grid, .application-summary, .insight-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
  margin: 14px 0 28px;
}
.stat-card {
  min-height: 112px;
  border: 1px solid #eaf0ff;
  background: #fff;
  box-shadow: var(--shadow);
  border-radius: 13px;
  padding: 14px;
}
.stat-icon, .panel-icon {
  width: 31px;
  height: 31px;
  display: inline-grid;
  place-items: center;
  border-radius: 9px;
  color: var(--blue);
  background: #edf2ff;
  flex: none;
}
.stat-icon.mint, .panel-icon.mint { color: #00af8c; background: #e7faf4; }
.stat-icon.blue, .panel-icon.blue { color: #315cff; background: #eaf0ff; }
.stat-icon.violet, .panel-icon.violet { color: #7564e9; background: #f0edff; }
.stat-icon.rose, .panel-icon.rose { color: #eb6584; background: #fff0f4; }
.stat-card .stat-value { font: 800 24px/1.1 Manrope,sans-serif; letter-spacing: -.06em; margin: 7px 0 2px; }
.stat-card strong, .stat-card small { display: block; }
.stat-card strong { font-size: 11px; }
.stat-card small { color: var(--muted); font-size: 10px; margin-top: 3px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin: 0 1px 13px; }
.section-heading h2 { margin-bottom: 2px; }
.section-heading p { margin-bottom: 0; color: var(--muted); font-size: 11px; }
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  background: none;
  padding: 0;
  color: var(--blue);
  font-weight: 800;
  font-size: 11px;
}
.text-link:hover { color: #143fdc; text-decoration: underline; }
.job-list {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.job-row { display: flex; align-items: flex-start; gap: 13px; padding: 17px; border-bottom: 1px solid #edf0fa; }
.job-row:last-child { border-bottom: 0; }
.company-logo {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  color: #fff;
  font: 800 22px Manrope, sans-serif;
  flex: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.23);
}
.company-logo.violet { background: linear-gradient(145deg,#4a78ff,#8a4ff1); }
.company-logo.green { background: linear-gradient(145deg,#159b7a,#087963); }
.company-logo.navy { background: linear-gradient(145deg,#0d245a,#294581); }
.company-logo.coral { background: linear-gradient(145deg,#ff7d83,#f24c68); }
.company-logo.blue { background: linear-gradient(145deg,#2a73ff,#37b9e6); }
.job-row-main { min-width: 0; flex: 1; }
.job-row-title { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.job-row h3 { margin: 0; font-size: 13px; }
.job-title-button { border: 0; background: transparent; padding: 0; color: inherit; font: inherit; letter-spacing: inherit; text-align: left; }
.job-title-button:hover { color: var(--blue); }
.company-line { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; color: #6b78a0; font-size: 10px; margin: 3px 0 8px; }
.company-line span { color: #aab6cf; }
.job-tags { display: flex; gap: 5px; flex-wrap: wrap; }
.job-tags span { color: #4c6095; background: #f0f3fb; padding: 4px 7px; border-radius: 5px; font-size: 9px; font-weight: 700; }
.job-tags span:first-child { color: var(--blue); background: #eef2ff; }
.job-row p { color: #7380a2; font-size: 10px; margin: 8px 0 0; }
.fit-badge {
  color: #009b7a;
  background: #e5f8f1;
  font-size: 9px;
  font-weight: 800;
  border-radius: 99px;
  padding: 4px 8px;
  white-space: nowrap;
}
.fit-badge.medium { color: #a37718; background: #fff4da; }
.fit-badge.low { color: #677596; background: #eef1f8; }
.job-row-actions { display: flex; align-items: center; gap: 8px; align-self: center; }
.bookmark-button {
  width: 31px;
  height: 31px;
  border: 0;
  background: transparent;
  color: #60729d;
  display: grid;
  place-items: center;
}
.bookmark-button:hover, .bookmark-button.is-saved { color: var(--blue); }
.saved-label { color: #2a59db; font-size: 10px; font-weight: 800; }
.panel {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: var(--shadow);
  padding: 17px;
}
.panel p { font-size: 11px; color: #7581a4; margin-bottom: 15px; }
.panel-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 13px; }
.agent-avatar {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  background: linear-gradient(140deg,#def8ff,#dce4ff);
  border-radius: 12px;
  color: #2755ff;
  font-size: 27px;
  box-shadow: 0 3px 9px rgba(42,85,200,.14);
}
.agent-avatar.large { width: 43px; height: 43px; }
.small-badge { color: #6673dc; background: #f1efff; padding: 5px 7px; border-radius: 99px; font-size: 8px; font-weight: 800; letter-spacing: .06em; }
.agent-card .button { width: 100%; }
.focus-card .section-heading { margin-bottom: 9px; }
.focus-card .section-heading h2 { font-size: 15px; }
.task-row {
  width: 100%;
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  gap: 9px;
  text-align: left;
  padding: 10px 0;
  color: #344266;
  font-size: 11px;
}
.task-row + .task-row { border-top: 1px solid #edf0f9; }
.task-check { width: 18px; height: 18px; border: 1.5px solid #a3b1d5; border-radius: 50%; flex: none; display: grid; place-items: center; }
.task-check.done { color: #fff; background: var(--blue); border-color: var(--blue); }
.task-done { text-decoration: line-through; color: #a1abc6; }
.quote-panel {
  min-height: 147px;
  border-radius: 14px;
  padding: 20px;
  background: linear-gradient(160deg,#e4e5ff,#cad7ff 55%,#a6bde9);
  position: relative;
  overflow: hidden;
}
.quote-panel::after { content: ""; position: absolute; width: 240px; height: 70px; border-radius: 60% 30% 0 0; background: #b6c5ed; bottom: -12px; right: -25px; transform: rotate(-15deg); }
.quote-panel p { position: relative; z-index: 1; color: #354b9e; font: 700 italic 19px/1.12 Manrope,sans-serif; letter-spacing: -.04em; }
.quote-panel span { position: absolute; right: 25px; top: 19px; color: #3e5cad; font-size: 26px; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.page-heading .eyebrow { display: block; margin-bottom: 7px; color: #4668ce; }
.page-heading p { color: #7481a4; margin-bottom: 0; font-size: 12px; }
.heading-actions { display: flex; gap: 9px; }
.heading-note { display: flex; align-items: center; gap: 8px; font-size: 10px; color: #7585a7; }
.heading-note .icon { color: #10b998; }
.discovery-toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.search-field {
  height: 42px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  max-width: 510px;
  background: #fff;
  border: 1px solid #dfe6f7;
  border-radius: 9px;
  padding: 0 12px;
  color: #7a89b3;
}
.search-field input { width: 100%; border: 0; outline: 0; color: var(--navy); font-size: 11px; background: transparent; }
.search-field input::placeholder { color: #9aa8c7; }
.segmented { display: inline-flex; gap: 2px; background: #eef2fb; padding: 3px; border-radius: 9px; }
.segmented button { border: 0; border-radius: 7px; color: #68789d; background: transparent; padding: 8px 11px; font-size: 10px; font-weight: 800; }
.segmented button.selected { color: var(--blue); background: #fff; box-shadow: 0 2px 7px rgba(49,77,145,.1); }
.discovery-layout { display: grid; grid-template-columns: minmax(0,1fr) 250px; gap: 17px; align-items: start; }
.discovery-aside { display: grid; gap: 13px; }
.discovery-aside .panel-icon { margin-bottom: 14px; }
.discovery-aside .panel p { margin-bottom: 17px; }
.soft-panel { background: #f1f4ff; }
.results-line { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin: 0 2px 10px; font-size: 11px; }
.results-line span { color: #8b98b8; font-size: 10px; }
.results-more { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 20px 0 6px; color: #6e7d9d; font-size: 12px; }
.focus-deck { max-width: 670px; margin: 0 auto; }
.focus-card-job { background: #fff; border: 1px solid var(--border); border-radius: 18px; overflow: hidden; box-shadow: var(--shadow); }
.focus-cover {
  min-height: 188px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: linear-gradient(90deg,rgba(20,37,86,.65),rgba(20,37,86,.02)), url("./nordic-lake.png") center 50%/cover;
  color: #fff;
  font: 800 26px/1.1 Manrope,sans-serif;
}
.focus-cover .focus-brand { font-size: 13px; font-weight: 700; }
.focus-body { padding: 20px; }
.focus-title { display: flex; align-items: center; gap: 10px; }
.focus-title > div { flex: 1; }
.focus-title small { color: #7481a4; }
.focus-title h2 { margin-bottom: 0; }
.focus-meta { display: flex; align-items: center; gap: 6px; color: #65749a; margin: 15px 0 10px; font-size: 11px; }
.focus-body > p { color: #65749a; font-size: 12px; margin: 14px 0 8px; }
.focus-actions { display: flex; justify-content: space-around; gap: 10px; border-top: 1px solid #edf0fa; padding-top: 18px; margin-top: 18px; }
.round-action { width: 68px; border: 0; background: none; color: #6b7a9d; display: grid; justify-items: center; gap: 6px; }
.round-action .icon { width: 45px; height: 45px; padding: 11px; background: #f2f5fc; border-radius: 50%; }
.round-action small { font-size: 10px; font-weight: 800; }
.round-action.priority { color: #7861db; }
.round-action.priority .icon { background: #f2edff; }
.round-action.primary { color: var(--blue); }
.round-action.primary .icon { color: #fff; background: var(--blue); }
.focus-hint { text-align: center; color: #8995b2; font-size: 10px; padding: 12px; }
.undo-decision { display: block; margin: 13px auto 0; border: 0; background: transparent; color: var(--blue); font-size: 11px; font-weight: 800; }
.undo-decision:hover { text-decoration: underline; }
.empty-state { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 60px 22px; color: #8390af; }
.empty-state .icon { color: #8da5f5; }
.empty-state h3 { color: var(--navy); font-size: 16px; margin: 14px 0 5px; }
.empty-state p { max-width: 320px; font-size: 11px; }
.job-list .empty-state { min-height: 240px; }
.drawer-backdrop { position: fixed; inset: 0; z-index: 39; background: rgba(15,27,62,.34); }
.drawer {
  position: fixed;
  z-index: 40;
  top: 0;
  right: 0;
  width: min(465px, 100vw);
  height: 100dvh;
  background: #fff;
  box-shadow: -20px 0 60px rgba(10,25,70,.17);
  display: flex;
  flex-direction: column;
}
.drawer-head { height: 64px; border-bottom: 1px solid var(--border); padding: 0 20px; display: flex; align-items: center; justify-content: space-between; font-size: 10px; font-weight: 800; letter-spacing: .13em; color: #8d9bb9; }
.drawer-scroll { overflow: auto; padding: 24px; flex: 1; }
.drawer-company { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.drawer-company strong, .drawer-company small { display: block; }
.drawer-company strong { font-size: 13px; }
.drawer-company small { color: #8592af; font-size: 10px; }
.drawer h2 { font-size: 25px; }
.drawer-summary { font-size: 12px; color: #7381a0; }
.drawer-meta { display: flex; gap: 12px; flex-wrap: wrap; margin: 18px 0 14px; }
.drawer-meta span { display: flex; align-items: center; gap: 5px; color: #647397; font-size: 10px; }
.detail-block { border-top: 1px solid #edf0fa; padding-top: 20px; margin-top: 22px; }
.detail-block h3 { font-size: 14px; }
.detail-block p { color: #637196; font-size: 12px; }
.reason-list, .gap-list { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 11px; }
.reason-list li, .gap-list li { display: flex; align-items: flex-start; gap: 9px; font-size: 11px; color: #56668d; }
.reason-check { width: 17px; height: 17px; display: grid; place-items: center; color: #fff; background: #20c8a3; border-radius: 50%; flex: none; }
.gap-list li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #f1b950; margin-top: 5px; flex: none; }
.source-callout { display: flex; gap: 9px; padding: 13px; margin-top: 22px; background: #eff4ff; border-radius: 10px; color: #4264c3; }
.source-callout p { font-size: 11px; margin: 0; }
.drawer-footer { padding: 15px 20px; border-top: 1px solid var(--border); display: flex; justify-content: space-between; gap: 9px; }
.drawer-footer .button { flex: 1; }
.drawer textarea { width: 100%; }
.drawer .detail-block .button { margin-top: 10px; }
.source-link { margin-top: 15px; }
.add-job-title { margin-top: 18px; }
.add-job-form { display: grid; gap: 15px; margin-top: 22px; }
.add-job-form .button { margin-top: 6px; }
.campaign-layout, .settings-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(270px,.85fr); gap: 16px; align-items: start; }
.campaign-panel, .process-panel { padding: 22px; }
.campaign-intro, .editor-head { display: flex; align-items: center; gap: 11px; margin-bottom: 22px; }
.campaign-intro p, .editor-head p { margin: 0; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
form label, .setup-stage label { display: grid; gap: 6px; color: #344368; font-weight: 800; font-size: 10px; }
input, textarea, select {
  border: 1px solid #dfe5f4;
  border-radius: 8px;
  background: #fff;
  color: var(--navy);
  padding: 10px 11px;
  outline: none;
  min-width: 0;
}
input::placeholder, textarea::placeholder { color: #a5afc8; }
input:focus, textarea:focus, select:focus { border-color: #8ca7ff; box-shadow: 0 0 0 3px #e8eeff; }
textarea { resize: vertical; line-height: 1.5; }
.check-label { display: flex; align-items: center; gap: 9px; margin: 20px 0; }
.check-label input { width: 17px; height: 17px; accent-color: var(--blue); }
.form-footer, .editor-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 18px; border-top: 1px solid #edf0fa; }
.form-footer span, .save-note { display: flex; align-items: center; gap: 6px; color: #8895b2; font-size: 10px; }
.process-panel h2 { margin-bottom: 18px; }
.process-step { display: flex; gap: 12px; margin: 0 0 16px; }
.process-step > span { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: #eaf0ff; color: var(--blue); font-size: 10px; font-weight: 800; flex: none; }
.process-step strong { font-size: 11px; }
.process-step p { margin: 2px 0 0; font-size: 10px; }
.notice-band { display: flex; gap: 12px; padding: 17px; border: 1px solid #d8e9fb; background: #eef7ff; border-radius: 12px; color: #2e5dad; margin-top: 16px; }
.notice-band strong { font-size: 11px; }
.notice-band p { margin: 3px 0 0; font-size: 10px; }
.agent-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.85fr); gap: 16px; align-items: start; }
.agent-panel, .agent-answer { padding: 24px; }
.agent-panel > p { max-width: 62ch; }
.agent-panel form { display: grid; gap: 18px; margin-top: 22px; }
.agent-panel textarea { width: 100%; }
.agent-details { border-top: 1px solid #edf0fa; padding-top: 16px; color: #637196; }
.agent-details summary { cursor: pointer; color: var(--navy); font-weight: 750; font-size: 12px; }
.agent-details .check-label { align-items: start; margin: 16px 0 8px; line-height: 1.5; }
.agent-details .check-label input { flex: none; margin-top: 2px; }
.agent-details p { font-size: 11px; margin: 0; }
.agent-form-footer { display: flex; gap: 16px; align-items: center; justify-content: space-between; }
.agent-form-footer small, .agent-answer small { color: #7d8ba8; line-height: 1.5; }
.agent-answer p { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.65; }
.agent-answer small { display: block; border-top: 1px solid #edf0fa; padding-top: 15px; }
.status-pill { display: inline-flex; align-items: center; gap: 5px; border-radius: 99px; padding: 7px 10px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.status-pill.paused { color: #667593; background: #eef1f7; }
.resume-layout { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(330px,.9fr); gap: 17px; align-items: start; }
.resume-editor { padding: 22px; }
.resume-editor form { display: grid; gap: 20px; }
.editor-section { display: grid; gap: 13px; border-top: 1px solid #edf0fa; padding-top: 19px; }
.editor-section-title { display: flex; align-items: center; gap: 9px; }
.editor-section-title span { color: #9baddd; font-size: 10px; font-weight: 800; }
.editor-section-title h3 { margin: 0; }
.field-help { color: #8c98b2; font-size: 10px; }
.resume-preview-wrap { position: sticky; top: 91px; }
.preview-toolbar { display: flex; justify-content: space-between; align-items: center; padding: 4px 2px 12px; }
.preview-toolbar strong, .preview-toolbar span { display: block; }
.preview-toolbar strong { font-size: 11px; }
.preview-toolbar span { font-size: 10px; color: #8592b0; }
.preview-dot { width: 8px; height: 8px; border-radius: 50%; background: #27c9a5; }
.resume-paper { width: 100%; min-height: 570px; padding: 45px 42px; background: #fff; box-shadow: 0 17px 50px rgba(19,35,74,.12); border: 1px solid #e3e8f2; color: #18233e; }
.resume-paper header { padding-bottom: 23px; border-bottom: 2px solid #243562; }
.resume-paper header h2 { font: 800 28px Manrope,sans-serif; letter-spacing: -.06em; margin: 0 0 5px; }
.resume-paper header p { color: #3460d7; font-size: 13px; font-weight: 700; margin: 0 0 7px; }
.resume-paper header small { color: #70809c; font-size: 10px; }
.resume-paper section { padding-top: 20px; }
.resume-paper section h3 { text-transform: uppercase; letter-spacing: .1em; font-size: 10px; margin: 0 0 9px; }
.resume-paper section p { color: #49546c; font-size: 11px; margin: 0; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.preview-caption { color: #95a0ba; text-align: center; font-size: 10px; margin-top: 13px; }
.application-summary { margin-top: 0; }
.application-panel { padding: 0; overflow: hidden; }
.applications-head { padding: 18px 20px 8px; }
.applications-head p { margin: 0; }
.filter-tabs { display: flex; overflow-x: auto; gap: 19px; border-bottom: 1px solid #e8ecf7; padding: 0 20px; }
.filter-tabs button { border: 0; border-bottom: 2px solid transparent; background: none; color: #7280a0; white-space: nowrap; font-size: 10px; font-weight: 800; padding: 13px 0 10px; }
.filter-tabs button.active { color: var(--blue); border-color: var(--blue); }
.filter-tabs span { margin-left: 5px; padding: 2px 5px; background: #eff2f9; border-radius: 99px; font-size: 9px; }
.application-row { width: 100%; padding: 15px 20px; display: flex; align-items: center; gap: 12px; text-align: left; border: 0; border-bottom: 1px solid #edf0f8; background: #fff; }
.application-row:last-child { border-bottom: 0; }
.application-row:hover { background: #f9faff; }
.application-role { flex: 1; display: grid; gap: 3px; }
.application-role strong { font-size: 11px; }
.application-role small, .application-date { color: #8390ad; font-size: 10px; }
.app-status { display: inline-flex; padding: 6px 9px; border-radius: 99px; color: #5869cf; background: #eeeefe; white-space: nowrap; font-size: 9px; font-weight: 800; }
.app-status.manual_completion { color: #b67b21; background: #fff4dd; }
.app-status.submitted_user_reported { color: #069b7c; background: #e4f8f1; }
.conversation { padding: 0; overflow: hidden; }
.conversation-head { display: flex; align-items: center; gap: 10px; padding: 16px; border-bottom: 1px solid var(--border); }
.conversation-head strong, .conversation-head small { display: block; }
.conversation-head strong { font-size: 12px; }
.conversation-head small { font-size: 10px; color: #8895b3; }
.conversation-body { min-height: 265px; padding: 24px; display: flex; flex-direction: column; align-items: flex-start; gap: 15px; background: #fbfcff; }
.chat-message { max-width: 75%; padding: 13px 15px; background: #fff; color: #354467; border: 1px solid #e8edfa; box-shadow: 0 6px 18px rgba(32,55,110,.04); border-radius: 13px 13px 13px 3px; font-size: 12px; line-height: 1.5; }
.prompt-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 16px; }
.prompt-grid button { display: flex; align-items: center; gap: 8px; text-align: left; border: 1px solid #e3e9f8; border-radius: 9px; background: #fff; color: #3f58a7; padding: 10px; font-size: 10px; font-weight: 800; }
.prompt-grid button:hover { background: #f3f6ff; }
.chat-input-disabled { display: flex; justify-content: space-between; align-items: center; padding: 14px 17px; border-top: 1px solid var(--border); color: #99a6bf; font-size: 10px; }
.agent-side { display: grid; gap: 14px; }
.plain-checks { list-style: none; padding: 0; margin: 12px 0 0; display: grid; gap: 13px; }
.plain-checks li { display: flex; align-items: center; gap: 8px; font-size: 11px; color: #506080; }
.plain-checks .icon { color: #14bd9b; }
.insight-grid { margin-top: 0; }
.insight-layout { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(250px,.7fr); gap: 16px; }
.muted { color: #7d8aa7; font-size: 11px; }
.insight-bars { display: grid; gap: 16px; margin-top: 25px; }
.insight-bars div { display: grid; grid-template-columns: 100px 1fr 30px; gap: 10px; align-items: center; position: relative; }
.insight-bars div::before { content: ""; height: 8px; border-radius: 99px; background: #eef2fb; grid-column: 2; grid-row: 1; }
.insight-bars i { height: 8px; border-radius: 99px; background: var(--blue); grid-column: 2; grid-row: 1; z-index: 1; min-width: 2px; }
.insight-bars span { grid-column: 1; grid-row: 1; color: #5a6a90; font-size: 11px; }
.insight-bars strong { grid-column: 3; grid-row: 1; font-size: 11px; }
.settings-layout .panel { padding: 22px; }
.settings-row { display: flex; align-items: center; gap: 10px; padding: 14px 0; border-bottom: 1px solid #edf0f8; }
.settings-row:last-child { border-bottom: 0; }
.settings-row > div { flex: 1; display: grid; gap: 3px; }
.settings-row strong { font-size: 11px; }
.settings-row small { color: #8995af; font-size: 10px; }
.setting-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.settings-divider { height: 1px; background: #edf0f8; margin: 24px 0; }
.setup-backdrop { position: fixed; z-index: 50; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(20,32,72,.47); backdrop-filter: blur(8px); }
.setup-dialog { width: min(810px,100%); min-height: 510px; display: grid; grid-template-columns: .83fr 1.17fr; background: #fff; border-radius: 20px; overflow: hidden; box-shadow: 0 30px 90px rgba(10,20,55,.26); }
.setup-art { background: linear-gradient(180deg,rgba(22,44,99,.1),rgba(13,35,89,.82)), url("./nordic-lake.png") center/cover; color: #fff; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; }
.setup-brand { font: 800 23px Manrope,sans-serif; letter-spacing: -.06em; }
.setup-brand span { color: #acc3ff; }
.setup-art-copy > span { font-size: 10px; font-weight: 800; letter-spacing: .17em; opacity: .8; }
.setup-art-copy strong { display: block; margin: 10px 0; font: 800 30px/1.12 Manrope,sans-serif; letter-spacing: -.055em; }
.setup-art-copy p { font-size: 12px; color: #e4eaff; }
.setup-content { padding: 28px 34px; }
.setup-top { display: flex; justify-content: space-between; align-items: center; font-size: 10px; letter-spacing: .1em; color: #8795b4; font-weight: 800; }
.setup-top b { color: var(--blue); margin-left: 5px; }
.setup-top button { border: 0; background: transparent; color: var(--blue); font-weight: 800; letter-spacing: 0; }
.setup-progress { height: 4px; border-radius: 99px; background: #edf1fa; margin: 19px 0 42px; }
.setup-progress span { display: block; height: 100%; background: var(--blue); border-radius: inherit; transition: width .3s; }
.setup-stage h1 { font-size: 29px; max-width: 350px; }
.setup-stage > p { color: #7281a2; font-size: 12px; max-width: 350px; }
.setup-emoji { display: block; color: var(--blue); font-size: 31px; margin-bottom: 12px; }
.setup-benefits { display: grid; gap: 12px; margin: 27px 0 30px; }
.setup-benefits span { display: flex; align-items: center; gap: 9px; font-size: 11px; font-weight: 800; color: #43547f; }
.setup-benefits .icon { color: var(--blue); }
.setup-stage form { display: grid; gap: 12px; margin-top: 20px; }
.setup-stage form .button { margin-top: 8px; }
.setup-summary { display: grid; gap: 10px; margin: 26px 0; }
.setup-summary div { padding: 12px; border: 1px solid #e7ecf8; border-radius: 8px; display: flex; justify-content: space-between; gap: 15px; }
.setup-summary span { color: #8490ac; font-size: 10px; }
.setup-summary strong { font-size: 11px; }
.toast { position: fixed; z-index: 60; bottom: 22px; left: 50%; transform: translateX(-50%); padding: 11px 15px; display: flex; align-items: center; gap: 8px; background: #172653; color: #fff; box-shadow: 0 13px 30px rgba(11,25,62,.2); border-radius: 10px; font-size: 11px; font-weight: 800; }

@media (max-width: 1180px) {
  .sidebar { width: 210px; }
  .today-layout { grid-template-columns: minmax(0,1fr) 255px; }
  .stat-grid { gap: 8px; }
  .stat-card { padding: 12px; }
  .discovery-layout { grid-template-columns: minmax(0,1fr) 220px; }
}
@media (max-width: 960px) {
  .sidebar { width: 68px; padding: 28px 9px 14px; }
  .sidebar .brand { font-size: 0; margin: 0 auto 42px; }
  .sidebar .brand::before { content: "J"; font: 800 25px Manrope,sans-serif; color: var(--navy); }
  .brand-spark, .workspace-label, .sidebar .nav-item span, .sidebar-quote, .sidebar-profile span:nth-child(2), .sidebar-profile .icon { display: none; }
  .sidebar .nav-item { justify-content: center; padding: 0; }
  .sidebar-profile { justify-content: center; padding-top: 12px; }
  .today-layout { grid-template-columns: minmax(0,1fr) 250px; }
}
@media (max-width: 760px) {
  .sidebar { display: none; }
  .sidebar.open {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: min(275px, 83vw);
    height: 100dvh;
    z-index: 30;
    padding: 28px 14px 18px;
    box-shadow: 12px 0 45px rgba(22,39,84,.19);
  }
  .sidebar.open .brand { font-size: 27px; margin: 0 13px 42px; }
  .sidebar.open .sidebar-close { display: inline-flex; position: absolute; top: 22px; right: 10px; }
  .sidebar.open .brand::before { display: none; }
  .sidebar.open .brand-spark, .sidebar.open .workspace-label, .sidebar.open .nav-item span,
  .sidebar.open .sidebar-quote, .sidebar.open .sidebar-profile span:nth-child(2),
  .sidebar.open .sidebar-profile .icon { display: initial; }
  .sidebar.open .nav-item { justify-content: flex-start; padding: 0 14px; }
  .sidebar.open .sidebar-profile { justify-content: flex-start; }
  .topbar { height: 59px; padding: 0 17px; }
  .topbar-actions { gap: 8px; }
  .top-action span, .demo-chip, .breadcrumb { display: none; }
  .mobile-menu { display: inline-flex; }
  .content { padding: 18px 16px 92px; }
  .mobile-tabs { display: flex; justify-content: space-around; position: fixed; z-index: 18; bottom: 0; left: 0; right: 0; background: rgba(255,255,255,.98); border-top: 1px solid var(--border); padding: 6px 3px max(7px, env(safe-area-inset-bottom)); }
  .mobile-tabs .nav-item { padding: 4px; display: grid; justify-items: center; gap: 2px; min-width: 54px; min-height: 43px; font-size: 9px; border-radius: 7px; }
  .mobile-tabs .nav-item .icon { width: 20px; height: 20px; }
  .mobile-tabs .nav-item.active::before, .mobile-tabs .nav-count { display: none; }
  .today-layout, .discovery-layout, .campaign-layout, .resume-layout, .agent-layout, .insight-layout, .settings-layout { grid-template-columns: 1fr; }
  .rail { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rail .quote-panel { display: none; }
  .hero { height: 225px; }
  .hero-copy { padding: 27px; }
  .stat-grid, .application-summary, .insight-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .discovery-aside { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .resume-preview-wrap { position: static; }
  .page-heading { align-items: flex-start; }
  .heading-note { display: none; }
  .heading-actions { flex-wrap: wrap; justify-content: flex-end; }
}
@media (max-width: 530px) {
  h1 { font-size: 27px; }
  .page-heading { display: grid; }
  .page-heading > .button, .page-heading .heading-actions { justify-self: start; }
  .hero { height: 235px; }
  .hero-copy { padding: 25px; }
  .hero h1 { font-size: 26px; }
  .hero p { max-width: 250px; }
  .rail, .discovery-aside { grid-template-columns: 1fr; }
  .stat-card { min-height: 108px; }
  .job-row { padding: 14px; gap: 9px; }
  .job-row .company-logo { width: 36px; height: 36px; font-size: 19px; }
  .job-row-actions { align-self: flex-start; }
  .job-row-actions .button, .saved-label { display: none; }
  .discovery-toolbar { flex-wrap: wrap; }
  .search-field { flex: 1 0 100%; max-width: none; }
  .view-toggle { margin-left: auto; }
  .form-grid { grid-template-columns: 1fr; }
  .form-footer, .editor-actions { align-items: flex-start; flex-direction: column; }
  .form-footer .button, .editor-actions .button { width: 100%; }
  .application-row { gap: 8px; padding: 12px; }
  .application-row .company-logo { width: 34px; height: 34px; font-size: 17px; }
  .application-row .application-date { display: none; }
  .app-status { max-width: 100px; white-space: normal; text-align: center; }
  .setup-dialog { display: block; max-width: 420px; min-height: 0; }
  .setup-art { display: none; }
  .setup-content { padding: 25px; }
  .setup-progress { margin-bottom: 26px; }
  .setup-stage h1 { font-size: 25px; }
  .drawer-footer { flex-wrap: wrap; }
  .drawer-footer .button { flex: 1 1 100%; }
  .resume-paper { min-height: 500px; padding: 30px 25px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media print {
  body { background: #fff; }
  .sidebar, .topbar, .mobile-tabs, .page-heading, .resume-editor, .preview-toolbar,
  .preview-caption, .drawer, .drawer-backdrop, .setup-backdrop, .toast { display: none !important; }
  .app-shell, .main-area, .content, .resume-layout, .resume-preview-wrap { display: block !important; width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
  .resume-paper { display: block !important; width: 100%; min-height: 0; border: 0; box-shadow: none; padding: 18mm; }
  @page { size: A4; margin: 0; }
}
.auth-screen{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,520px);background:#f8faff}
.auth-art{background:linear-gradient(180deg,rgba(16,36,84,.2),rgba(9,28,73,.82)),url('./nordic-lake.png') center/cover;min-height:100vh;padding:48px;display:flex;flex-direction:column;justify-content:space-between;color:white}
.auth-art .setup-brand{font-size:30px;color:#fff}
.auth-art h1{font-family:Manrope,sans-serif;font-size:clamp(44px,5vw,76px);line-height:1.06;letter-spacing:-.06em;max-width:760px;margin:18px 0}
.auth-art p{font-size:18px;line-height:1.6;max-width:530px;color:#e6edff}
.auth-card{align-self:center;padding:48px;width:100%;max-width:520px}
.auth-card h1{font:800 38px/1.1 Manrope,sans-serif;letter-spacing:-.045em;color:#172b57;margin:18px 0}
.auth-card p{color:#67728e;line-height:1.6}
.auth-card form{display:grid;gap:18px;margin:26px 0}
.auth-card label{display:grid;gap:8px;font-weight:700;color:#233659}
.auth-card input{width:100%;padding:15px 16px;border:1px solid #cbd6e9;border-radius:12px;font:inherit;background:white;color:#172b57}
.auth-card input:focus{outline:3px solid #c8d7ff;border-color:#557bdd}
.auth-card .button{justify-content:center}
.auth-error{color:#a32837!important;background:#fff0f1;border-radius:10px;padding:12px 14px}
.auth-note{font-size:13px;margin-top:30px}
.live-search{display:flex;align-items:end;gap:12px;margin:20px 0 8px}
.live-search .search-field{flex:1;min-width:220px}
.live-search .search-field input{width:100%}
.market-select{display:grid;gap:5px;font-size:12px;font-weight:700;color:#60708f}
.market-select select{height:46px;min-width:166px;border:1px solid #d5def0;border-radius:11px;background:white;padding:0 12px;color:#20345c;font:inherit}
.search-status{font-size:13px;color:#5e6e90;margin:0 0 20px}
@media(max-width:900px){.auth-screen{grid-template-columns:1fr}.auth-art{min-height:240px;padding:28px}.auth-art h1{font-size:38px;margin:10px 0}.auth-art p{font-size:15px}.auth-card{padding:32px 24px}.live-search{flex-wrap:wrap}.live-search .button{width:100%;justify-content:center}}

/* Assistant: one conversation, with a workspace canvas only when it helps. */
.content:has(.assistant-workspace) { max-width: none; padding: 0; }
.assistant-workspace { display: grid; grid-template-columns: minmax(0,1fr); min-height: calc(100dvh - 69px); background: #f9faff; }
.assistant-workspace.with-canvas { grid-template-columns: minmax(560px,1fr) minmax(390px,480px); }
.assistant-chat { width: min(100%,900px); min-height: calc(100dvh - 69px); margin: 0 auto; padding: 39px clamp(24px,4vw,64px) 24px; display: flex; flex-direction: column; }
.with-canvas .assistant-chat { width: 100%; max-width: none; }
.assistant-chat-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.assistant-eyebrow, .canvas-kicker { color: #4767b5; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.assistant-chat-head h1 { margin: 8px 0 8px; color: #12224d; font: 800 clamp(28px,2.7vw,39px)/1.15 Manrope,sans-serif; letter-spacing: -.055em; text-wrap: balance; }
.assistant-chat-head p { max-width: 56ch; margin: 0; color: #5f6e90; font-size: 15px; line-height: 1.55; }
.assistant-theme { display: inline-flex; align-items: center; gap: 7px; flex: none; border: 1px solid #d9e2f4; background: #fff; border-radius: 10px; color: #38517f; font-size: 12px; font-weight: 750; padding: 10px 12px; }
.assistant-crew { display: flex; flex-wrap: wrap; gap: 10px; align-items: start; margin-bottom: 22px; }
.assistant-crew-lead, .crew-options button { display: flex; align-items: center; gap: 10px; padding: 9px 14px; border: 1px solid #dfe6f4; border-radius: 12px; background: #fff; color: #243861; text-align: left; }
.assistant-crew-lead.selected, .crew-options button.selected { border-color: #9cb2eb; background: #edf2ff; }
.crew-symbol { width: 35px; height: 35px; border-radius: 10px; flex: none; display: grid; place-items: center; background: #e8edff; color: #3659c9; font-size: 20px; font-weight: 750; }
.assistant-crew strong, .assistant-crew small { display: block; }
.assistant-crew strong { font-size: 13px; }
.assistant-crew small { margin-top: 2px; color: #7382a4; font-size: 11px; }
.assistant-crew-more { position: relative; }
.assistant-crew-more summary { list-style: none; display: flex; align-items: center; gap: 8px; padding: 15px 16px; border: 1px solid #dfe6f4; border-radius: 12px; background: #fff; color: #29416d; cursor: pointer; font-size: 13px; font-weight: 750; }
.assistant-crew-more summary::-webkit-details-marker { display: none; }
.assistant-crew-more summary span { color: #8b98b5; font-size: 11px; font-weight: 500; }
.crew-options { position: absolute; top: calc(100% + 7px); left: 0; z-index: 5; min-width: 265px; display: grid; gap: 5px; padding: 8px; background: #fff; border: 1px solid #dfe6f4; border-radius: 14px; box-shadow: 0 22px 50px rgba(23,39,81,.14); }
.crew-options button { width: 100%; border-color: transparent; }
.crew-options button:hover, .assistant-crew-lead:hover { background: #f3f6ff; }
.assistant-thread { flex: 1; display: flex; flex-direction: column; gap: 23px; min-height: 280px; padding: 12px 2px 26px; overflow-y: auto; }
.assistant-welcome { margin: auto 0; padding: 44px 0; }
.welcome-symbol { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 17px; background: #e9edff; color: #4966d3; font-size: 28px; }
.assistant-welcome h2 { margin: 20px 0 8px; font: 800 clamp(25px,2.4vw,34px)/1.2 Manrope,sans-serif; color: #14234e; letter-spacing: -.04em; }
.assistant-welcome p { max-width: 51ch; color: #627293; font-size: 16px; line-height: 1.65; }
.assistant-shortcuts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 21px; }
.assistant-shortcuts button { border: 1px solid #dce5f5; border-radius: 10px; background: #fff; color: #2d477e; font-size: 13px; font-weight: 700; padding: 12px 14px; }
.assistant-shortcuts button:hover { border-color: #9eb3e4; background: #f2f5ff; }
.assistant-message { display: flex; gap: 13px; max-width: 760px; }
.assistant-message.from-user { margin-left: auto; flex-direction: row-reverse; max-width: min(85%,660px); }
.assistant-avatar { width: 35px; height: 35px; border-radius: 10px; display: grid; place-items: center; flex: none; background: #e5ebff; color: #405fd2; font-weight: 800; }
.assistant-avatar.seeker { background: #e6f4ef; color: #2b8068; }
.assistant-avatar.applier { background: #fff1e4; color: #af6530; }
.assistant-avatar.resume { background: #f1eaff; color: #7955b7; }
.from-user .assistant-avatar { background: #dce6f5; color: #344b75; }
.assistant-message-main { min-width: 0; flex: 1; }
.assistant-message-meta { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; min-height: 23px; }
.assistant-message-meta strong { color: #172750; font-size: 13px; }
.assistant-message-meta span { color: #7d8bab; font-size: 12px; }
.assistant-prose { color: #293a61; font-size: 16px; line-height: 1.72; overflow-wrap: anywhere; }
.assistant-prose h3 { color: #142750; font: 750 20px/1.35 Manrope,sans-serif; letter-spacing: -.025em; margin: 3px 0 15px; }
.assistant-prose p { margin: 0 0 14px; max-width: 67ch; }
.assistant-step { display: flex; gap: 12px; margin: 0 0 12px; }
.assistant-step > span { width: 24px; height: 24px; border-radius: 8px; flex: none; display: grid; place-items: center; background: #e7edff; color: #3155c6; font-size: 12px; font-weight: 800; margin-top: 3px; }
.assistant-step p { margin: 0; }
.from-user .assistant-prose { background: #eaf0ff; border-radius: 15px 4px 15px 15px; padding: 12px 16px; }
.from-user .assistant-prose p { margin: 0; }
.assistant-handoff { margin: 7px 0 10px; color: #65789b; font-size: 13px; }
.assistant-handoff summary { cursor: pointer; font-weight: 700; }
.assistant-handoff p { max-width: 65ch; line-height: 1.6; white-space: pre-wrap; }
.assistant-inline-action, .canvas-page-link, .canvas-back { display: inline-flex; align-items: center; gap: 7px; border: 0; padding: 5px 0; background: none; color: #2b52be; font-size: 13px; font-weight: 800; }
.assistant-inline-action:hover, .canvas-page-link:hover, .canvas-back:hover { text-decoration: underline; }
.assistant-thinking { display: flex; align-items: center; gap: 10px; color: #65789b; font-size: 14px; }
.thinking-pulse { width: 12px; height: 12px; border-radius: 50%; background: #6c85e5; animation: assistant-pulse 1.3s ease-in-out infinite; }
@keyframes assistant-pulse { 50% { opacity: .35; transform: scale(.72); } }
.assistant-composer { display: grid; gap: 7px; padding: 16px; border: 1px solid #dce5f4; border-radius: 17px; background: #fff; box-shadow: 0 13px 35px rgba(40,63,120,.06); }
.assistant-composer > label { color: #304575; font-size: 13px; font-weight: 800; }
.assistant-composer textarea { min-height: 85px; width: 100%; border: 0; background: transparent; box-shadow: none; padding: 5px 0; color: #1b2a54; font-size: 16px; line-height: 1.6; }
.assistant-composer textarea:focus { box-shadow: none; border: 0; }
.assistant-compose-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.assistant-context { color: #5f7296; font-size: 13px; }
.assistant-context summary { cursor: pointer; font-weight: 700; }
.assistant-context label { display: flex; align-items: start; gap: 8px; margin-top: 13px; max-width: 49ch; line-height: 1.5; }
.assistant-context input { margin-top: 3px; accent-color: #315cff; }
.assistant-context p { max-width: 55ch; line-height: 1.5; font-size: 12px; }
.assistant-error { color: #a13939; font-size: 13px; margin: 4px 0 0; }
.assistant-chat-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #8996b0; font-size: 11px; padding: 12px 1px 0; }
.assistant-chat-foot button { border: 0; background: none; color: #6077a8; font-size: 11px; }
.assistant-canvas { min-width: 0; min-height: calc(100dvh - 69px); background: #fff; border-left: 1px solid #e4e9f4; }
.assistant-canvas-head { display: flex; justify-content: space-between; align-items: start; gap: 16px; padding: 34px 31px 23px; border-bottom: 1px solid #e9edf5; }
.assistant-canvas-head h2 { margin: 7px 0 0; color: #16274e; font: 800 25px/1.23 Manrope,sans-serif; letter-spacing: -.035em; }
.assistant-canvas-body { padding: 25px 31px 42px; color: #344467; font-size: 15px; line-height: 1.65; }
.canvas-intro { color: #627294; margin: 0 0 19px; max-width: 55ch; }
.canvas-search { display: flex; gap: 7px; margin-bottom: 10px; }
.canvas-search input { min-width: 0; flex: 1; font-size: 14px; }
.canvas-status { font-size: 12px; color: #66789b; }
.canvas-list { display: grid; gap: 8px; margin-top: 17px; }
.canvas-list button { width: 100%; border: 1px solid #e5eaf4; border-radius: 11px; background: #fff; text-align: left; padding: 14px 15px; }
.canvas-list button:hover { border-color: #a8bce9; background: #f7f9ff; }
.canvas-list strong, .canvas-list span { display: block; }
.canvas-list strong { color: #22365f; font-size: 15px; line-height: 1.4; }
.canvas-list span { color: #7786a5; font-size: 13px; margin-top: 4px; }
.canvas-empty { background: #f4f6fb; color: #6b7a99; padding: 23px; border-radius: 12px; line-height: 1.6; }
.canvas-document { padding: 22px; border: 1px solid #e6ebf3; border-radius: 11px; background: #fff; }
.canvas-document h3 { margin: 0 0 12px; font: 800 19px/1.3 Manrope,sans-serif; color: #172750; }
.canvas-document h4 { margin: 20px 0 5px; font-size: 12px; letter-spacing: .07em; text-transform: uppercase; color: #526895; }
.canvas-document p { margin: 0 0 14px; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; }
.canvas-subtitle { color: #6178a7; }
.canvas-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 18px; }
.canvas-footnote { color: #7b8aa6; font-size: 12px; margin-top: 17px; }
.canvas-label { display: grid; gap: 9px; font-size: 13px; font-weight: 750; }
.canvas-label textarea { font-size: 15px; line-height: 1.7; }
.canvas-draft { background: #eef3ff; border-radius: 12px; padding: 21px; margin-top: 23px; }
.canvas-draft h3 { color: #172750; font-size: 19px; margin: 10px 0; }
.canvas-draft p { color: #2b3b62; white-space: pre-wrap; line-height: 1.7; }

html[data-theme="dark"] { background: #101728; color: #ecf1ff; --navy: #ecf1ff; --border: #35415b; }
html[data-theme="dark"] body, html[data-theme="dark"] .content, html[data-theme="dark"] .main-area { background: #101728; color: #e8eeff; }
html[data-theme="dark"] .sidebar, html[data-theme="dark"] .topbar, html[data-theme="dark"] .panel, html[data-theme="dark"] .job-row, html[data-theme="dark"] .resume-editor, html[data-theme="dark"] .resume-paper { background: #192238; color: #e9efff; border-color: #35415b; }
html[data-theme="dark"] .assistant-workspace { background: #111a2d; }
html[data-theme="dark"] .assistant-chat-head h1, html[data-theme="dark"] .assistant-welcome h2, html[data-theme="dark"] .assistant-message-meta strong, html[data-theme="dark"] .assistant-prose h3, html[data-theme="dark"] .assistant-canvas-head h2, html[data-theme="dark"] .canvas-document h3, html[data-theme="dark"] .canvas-draft h3 { color: #f2f5ff; }
html[data-theme="dark"] .assistant-chat-head p, html[data-theme="dark"] .assistant-welcome p, html[data-theme="dark"] .assistant-prose, html[data-theme="dark"] .assistant-canvas-body, html[data-theme="dark"] .canvas-document p, html[data-theme="dark"] .canvas-draft p { color: #c4cee5; }
html[data-theme="dark"] .assistant-canvas, html[data-theme="dark"] .assistant-composer, html[data-theme="dark"] .assistant-theme, html[data-theme="dark"] .assistant-crew-lead, html[data-theme="dark"] .assistant-crew-more summary, html[data-theme="dark"] .crew-options, html[data-theme="dark"] .crew-options button, html[data-theme="dark"] .canvas-list button, html[data-theme="dark"] .canvas-document, html[data-theme="dark"] .canvas-draft, html[data-theme="dark"] .canvas-empty { background: #1b263d; color: #e3eaf9; border-color: #38445f; }
html[data-theme="dark"] .assistant-composer textarea, html[data-theme="dark"] input, html[data-theme="dark"] textarea, html[data-theme="dark"] select { background: #1b263d; color: #e6edff; border-color: #465474; }
html[data-theme="dark"] .from-user .assistant-prose { background: #26385f; }
html[data-theme="dark"] .canvas-list strong, html[data-theme="dark"] .assistant-crew strong { color: #f1f4ff; }
html[data-theme="dark"] .panel p, html[data-theme="dark"] .page-heading p, html[data-theme="dark"] .resume-paper section p { color: #b9c6df; }

@media (max-width: 1180px) {
  .assistant-workspace.with-canvas { grid-template-columns: minmax(0,1fr); }
  .assistant-canvas { min-height: 0; border-left: 0; border-top: 1px solid #e4e9f4; }
}
@media (max-width: 650px) {
  .assistant-chat { padding: 25px 18px 19px; min-height: calc(100dvh - 110px); }
  .assistant-chat-head { display: block; margin-bottom: 20px; }
  .assistant-theme { margin-top: 15px; }
  .assistant-thread { min-height: 250px; }
  .assistant-message, .assistant-message.from-user { max-width: 100%; }
  .assistant-canvas-head, .assistant-canvas-body { padding-left: 19px; padding-right: 19px; }
  .assistant-compose-bottom { align-items: end; }
  .assistant-compose-bottom .button { flex: none; }
  .assistant-chat-foot { padding-bottom: 58px; }
}
