/* Lumrivo's light workspace. Console-only tokens keep public demos independent. */
.lumrivo-console {
  --primary: #5B4BDB;
  --gum: #5B4BDB;
  --gum-soft: #EFEDFC;
  --mint: #8DE0D0;
  --ink: #151B2E;
  --ink-soft: #667085;
  --paper: #F7F8FC;
  --surface: #FFFFFF;
  --line: #E5E8F0;
  --amber: #95621A;
  --amber-soft: #FBF3E6;
  --brick: #AB4D4D;
  --brick-soft: #FCEEEE;
  --harbour: #486BA2;
  --stage-new: #667085;
  --stage-qualified: #437D70;
  --stage-booked: #486BA2;
  --stage-won: #347565;
  --stage-lost: #AB4D4D;
  --stage-unknown: #B5BDC9;
  --radius-s: 6px;
  --radius-m: 10px;
  --focus: 0 0 0 3px #5B4BDB33;
  color-scheme: light;
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
}
.ui-icon { flex: none; display: inline-block; vertical-align: middle; }
.lumrivo-console button, .lumrivo-console .btn { min-height: 40px; padding: 9px 14px; gap: 8px; transition: border-color .15s, background .15s; }
.lumrivo-console button:hover, .lumrivo-console .btn:hover { border-color: #C7C3EB; }
.lumrivo-console button.primary:hover { background: #5040C8; border-color: #5040C8; filter: none; }
.lumrivo-console input, .lumrivo-console select, .lumrivo-console textarea { min-height: 40px; padding: 9px 12px; }
.lumrivo-console input::placeholder, .lumrivo-console textarea::placeholder { color: #929BA9; }
.lumrivo-console .fine { line-height: 1.65; }
.eyebrow, .nav-label { text-transform: uppercase; letter-spacing: .15em; font-size: 10px; line-height: 1.6; font-weight: 700; color: #7C8798; }

/* Brand, workspace selector and consistent navigation. */
.shell { grid-template-columns: 248px minmax(0, 1fr); }
.rail { padding: 24px 18px 18px; gap: 0; overflow-y: auto; }
.rail .lumrivo-brand { margin: 0 10px 28px; gap: 8px; }
.rail .lumrivo-brand img { width: 158px; height: 53px; padding: 0; background: transparent; border-radius: 0; }
.rail .lumrivo-brand > span { font-size: 13px; line-height: 18px; padding-left: 9px; }
.lumrivo-console .mobile-menu { display: none; }
.workspace-card { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 6px 10px; align-items: center; border: 1px solid var(--line); border-radius: 10px; background: #FAFBFD; padding: 12px 10px; margin-bottom: 26px; }
.workspace-avatar, .account-avatar { display: grid; place-items: center; flex: none; border-radius: 9px; background: var(--gum-soft); color: var(--gum); font-weight: 600; }
.workspace-avatar { width: 34px; height: 34px; border: 1px solid #DDD8FA; }
.workspace-info { display: grid; min-width: 0; gap: 2px; }
.workspace-info .eyebrow { font-size: 9px; }
.workspace-info select { width: 100%; min-height: 24px; border: 0; padding: 0; border-radius: 3px; background: transparent; font-size: 12px; font-weight: 600; }
.workspace-card .ws-type { grid-column: 1 / -1; font-size: 11px; margin: 2px 0 0; }
.ws-type::before { width: 6px; height: 6px; }
.nav-label { margin: 0 12px 10px; font-size: 9px; }
.rail nav { margin: 0; gap: 3px; }
.rail nav a { display: flex; gap: 11px; align-items: center; min-height: 40px; padding: 9px 12px; font-size: 13px; color: var(--ink-soft); border-radius: 8px; }
.rail nav a .ui-icon { width: 18px; height: 18px; color: #8791A1; }
.rail nav a:hover { color: var(--ink); background: #F5F6FA; }
.rail nav a[aria-current='page'] { color: var(--gum); background: var(--gum-soft); }
.rail nav a[aria-current='page'] .ui-icon { color: var(--gum); }
.rail nav .nav-admin { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 16px; border-radius: 0; font-size: 12px; }
.rail-note { display: grid; gap: 9px; padding: 16px; margin: auto 2px 18px; background: linear-gradient(130deg, #F7F8FC, #EFF9F6); border: 1px solid #E1ECE7; border-radius: 10px; font-size: 12px; }
.rail-note > .ui-icon { color: var(--gum); margin-bottom: 2px; }
.rail-note p { color: var(--ink-soft); font-size: 11px; line-height: 1.7; }
.rail-foot { display: flex; align-items: center; gap: 9px; margin: 0; padding: 16px 2px 0; border-top: 1px solid var(--line); word-break: normal; }
.account-avatar { width: 30px; height: 30px; background: #EFF2F7; color: #667085; }
.account-info { display: grid; gap: 3px; min-width: 0; }
.account-info > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.rail-foot button.link { display: flex; align-items: center; gap: 5px; min-height: 24px; padding: 0; font-size: 11px; text-decoration: none; color: var(--ink-soft); }
.rail-foot button .ui-icon { width: 13px; height: 13px; }

/* A quiet top bar keeps orientation separate from the page's main actions. */
.workspace-area { min-width: 0; }
.workspace-topbar { height: 64px; padding: 0 32px; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: var(--surface); border-bottom: 1px solid var(--line); }
.breadcrumbs { display: flex; gap: 14px; align-items: center; min-width: 0; font-size: 12px; color: #929BA9; }
.breadcrumbs .ui-icon { width: 14px; height: 14px; color: #AFB6C2; }
.breadcrumbs strong { font-weight: 600; color: var(--ink-soft); }
.topbar-status { display: flex; align-items: center; gap: 7px; color: var(--ink-soft); font-size: 11px; white-space: nowrap; }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: #6CA592; }
.main { padding: 32px 32px 48px; }
.view { gap: 22px; max-width: 1440px; margin-inline: auto; }
.view-head { align-items: center; gap: 18px; }
.view-head h1 { font-size: 30px; letter-spacing: -.04em; font-weight: 700; }
.page-heading { display: grid; gap: 10px; }
.page-heading .eyebrow { font-size: 9px; }
.view-intro { font-size: 13px; line-height: 1.6; }
.view-head .actions { gap: 9px; }
.view-head .actions button { font-size: 12px; box-shadow: 0 1px 2px #151B2E05; }
.view-head .actions .ui-icon { width: 16px; height: 16px; }
.inbox-guidance { display: flex; align-items: center; gap: 15px; padding: 18px 20px; border: 1px solid #DFEAE6; border-radius: 10px; background: linear-gradient(110deg, #EDF9F5, #F7F8FC); }
.guidance-icon { display: grid; place-items: center; width: 43px; height: 43px; flex: none; background: #FFFFFFDA; border: 1px solid #DCE9E3; border-radius: 10px; color: var(--gum); }
.guidance-icon .ui-icon { width: 24px; height: 24px; }
.inbox-guidance strong { font-size: 13px; }
.inbox-guidance p { margin-top: 4px; color: var(--ink-soft); font-size: 12px; line-height: 1.6; }
.inbox-guidance .btn { margin-left: auto; white-space: nowrap; color: var(--gum); border-color: #DEE7E5; font-size: 11px; }
.inbox-guidance .btn .ui-icon { width: 16px; height: 16px; }

/* Pipeline cards use colour as a cue, rather than a wall of saturated blocks. */
.lumrivo-console .pipeline { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.lumrivo-console .pipeline button { display: grid; gap: 12px; padding: 16px; min-height: 118px; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: 10px; opacity: 1; box-shadow: none; transition: border-color .15s, box-shadow .15s; }
.lumrivo-console .pipeline button:hover { border-color: #C8C3EF; box-shadow: 0 3px 12px #151B2E06; }
.lumrivo-console .pipeline button[aria-pressed='true'] { border-color: #C9C3F4; background: #FDFCFF; box-shadow: inset 0 2px 0 var(--gum); }
.lumrivo-console .pipeline .pipe-heading { display: flex; align-items: center; justify-content: space-between; gap: 6px; overflow: visible; max-width: none; color: var(--ink-soft); }
.lumrivo-console .pipeline .pipe-heading > span { font-size: 11px; }
.pipe-heading .ui-icon { width: 17px; height: 17px; }
.pipe-all .ui-icon { color: var(--gum); }
.pipe-new .ui-icon { color: var(--stage-new); }
.pipe-qualified .ui-icon { color: var(--stage-qualified); }
.pipe-booked .ui-icon { color: var(--stage-booked); }
.pipe-won .ui-icon { color: var(--stage-won); }
.pipe-lost .ui-icon { color: var(--stage-lost); }
.lumrivo-console .pipeline strong { font-size: 29px; line-height: 1; letter-spacing: -.04em; font-weight: 600; }
.pipeline small { font-size: 9px; color: #7D8797; line-height: 1.5; }

/* One cohesive inbox, with a scrollable list and a useful unselected state. */
.inbox-panel { border: 1px solid var(--line); border-radius: 12px; background: var(--surface); overflow: hidden; box-shadow: 0 2px 5px #151B2E02; }
.inbox-toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; padding: 15px 20px; border-bottom: 1px solid var(--line); }
.inbox-filters { display: flex; align-items: center; gap: 20px; }
.inbox-filters h2 { font-size: 13px; letter-spacing: -.01em; }
.lumrivo-console .reply-filter { min-height: 32px; padding: 5px 10px; font-size: 11px; color: var(--ink-soft); background: #FAFBFD; }
.reply-filter .ui-icon { width: 14px; height: 14px; }
.lumrivo-console .reply-filter[aria-pressed='true'] { background: var(--gum-soft); color: var(--gum); border-color: #DDD8FA; }
.inbox-search { position: relative; width: min(340px, 42%); }
.inbox-search > .ui-icon { position: absolute; left: 12px; top: 11px; width: 17px; height: 17px; color: #99A2B1; pointer-events: none; }
.inbox-search input[type='search'] { width: 100%; min-height: 38px; padding-left: 37px; font-size: 11px; }
.inbox { grid-template-columns: minmax(290px, 36%) minmax(0, 1fr); gap: 0; align-items: stretch; }
.inbox-list { gap: 0; border-right: 1px solid var(--line); align-content: start; }
.list-heading { display: flex; justify-content: space-between; gap: 12px; padding: 17px 18px; color: #8690A0; font-size: 9px; }
.list-count { text-transform: uppercase; letter-spacing: .08em; }
.lead-list { border: 0; border-radius: 0; overflow-y: auto; max-height: 550px; scrollbar-width: thin; scrollbar-color: #D8DCE7 transparent; }
.lead-list li + li { border-color: #EFF1F6; }
.lumrivo-console .lead-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; grid-template-rows: auto auto; gap: 4px 11px; min-height: 82px; padding: 17px 17px 17px 15px; border-left: 3px solid transparent; border-radius: 0; align-items: center; }
.lead-row:hover { background: #F9FAFD; }
.lumrivo-console .lead-row[aria-current='true'] { background: #F4F2FE; border-left-color: var(--gum); }
.lead-avatar { grid-column: 1; grid-row: 1 / 3; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: #F0F2F7; color: #6D788B; font-size: 10px; font-weight: 600; }
.avatar-qualified, .avatar-won { background: #EAF5F0; color: #437D70; }
.avatar-booked { background: #EBF0FA; color: #486BA2; }
.avatar-lost { background: #FBEEEE; color: #AB4D4D; }
.lr-name { grid-column: 2; grid-row: 1; font-size: 12px; line-height: 1.4; }
.lr-meta { grid-column: 2; grid-row: 2; font-size: 10px; line-height: 1.5; }
.lr-owner { grid-column: 3; grid-row: 2; font-size: 10px; }
.lead-row > .chip { grid-column: 3; grid-row: 1; }
.chip { border: 0; border-radius: 5px; padding: 3px 7px; font-size: 9px; line-height: 1.5; }
.chip-new { background: #F0F2F7; color: #667085; }
.chip-qualified { background: #EAF5F0; color: #437D70; }
.chip-booked { background: #EBF0FA; color: #486BA2; }
.chip-won { background: #EAF5F0; color: #347565; }
.chip-lost { background: #FBEEEE; color: #AB4D4D; }
.lr-score { font-size: 9px; min-width: 19px; padding: 1px 4px; border-radius: 4px; }
.pager { border-top: 1px solid var(--line); padding: 13px 17px; font-size: 10px; }
.pager .fine { font-size: 10px; }
.lumrivo-console .pager button { min-height: 28px; font-size: 10px; padding: 4px 7px; }
.lead-detail { border: 0; border-radius: 0; position: static; max-height: 652px; padding: 26px; gap: 20px; scrollbar-width: thin; }
.lead-detail.is-empty { min-height: 420px; display: grid; place-items: center; background: radial-gradient(ellipse at 50% 65%, #F1F9F650, transparent 65%); }
.detail-empty { display: grid; justify-items: center; gap: 15px; padding: 42px 20px; max-width: 420px; text-align: center; }
.empty-illustration { position: relative; width: 88px; height: 88px; display: grid; place-items: center; background: #F0F7F4; border: 1px solid #E0ECE6; border-radius: 26px; transform: rotate(-7deg); margin-bottom: 12px; box-shadow: 0 14px 30px #4A8F7307; }
.empty-illustration > .ui-icon { width: 43px; height: 43px; color: #86AA9B; }
.empty-spark { position: absolute; bottom: -8px; right: -8px; width: 34px; height: 34px; border: 1px solid #DEEAE5; border-radius: 10px; display: grid; place-items: center; background: white; color: var(--gum); transform: rotate(7deg); }
.empty-spark .ui-icon { width: 19px; height: 19px; }
.detail-empty .eyebrow { font-size: 8px; }
.detail-empty h2 { font-size: 22px; line-height: 1.35; letter-spacing: -.035em; max-width: 290px; }
.detail-empty > p:not(.eyebrow) { color: var(--ink-soft); font-size: 12px; line-height: 1.8; max-width: 290px; }
.empty-context { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 9px; font-size: 9px; color: #83918B; }
.empty-context > span { display: flex; align-items: center; gap: 5px; }
.empty-context .ui-icon { width: 13px; height: 13px; }
.ld-head { padding-bottom: 16px; border-bottom: 1px solid var(--line); display: grid; gap: 7px; }
.ld-head h2 { letter-spacing: -.025em; }
.ld-contact { font-size: 12px; gap: 10px 16px; }
.ld-contact dt { font-size: 11px; }
.ld-message { padding: 14px 16px; border-left-color: var(--mint); font-size: 12px; line-height: 1.8; }
.lumrivo-console .chip-btn { font-size: 11px; border-radius: 7px; min-height: 33px; padding: 6px 10px; }
.ld-ai { padding: 16px; background: #FAFBFD; border-radius: 10px; font-size: 12px; }
.tl-title { letter-spacing: -.015em; }
.timeline { font-size: 12px; gap: 16px; }
.timeline .fine { font-size: 10px; }
.lead-detail .fu-conversation { margin: 0; }

/* The shared shell also improves every secondary console page. */
.settings-section, .mapping, .voice-card, .fu-card, .fu-metric { border-radius: 12px; box-shadow: 0 1px 3px #151B2E03; }
.settings-section { padding: 26px; gap: 18px; }
.settings-section h2 { letter-spacing: -.02em; }
.activity li { padding: 16px 20px; font-size: 13px; }
.signin { width: min(420px, 100%); padding: 34px; border-radius: 16px; box-shadow: 0 8px 30px #151B2E06; }
.signin .lumrivo-brand img { background: transparent; padding: 0; }
.signin h1 { font-size: 24px; letter-spacing: -.03em; }
.dialog { border-radius: 14px; box-shadow: 0 20px 80px #151B2E20; }
.dialog-form { padding: 28px; gap: 16px; }

@media (max-height: 850px) and (min-width: 901px) { .rail-note { display: none; } .rail-foot { margin-top: auto; } .rail .lumrivo-brand { margin-bottom: 20px; } .workspace-card { margin-bottom: 18px; } }
@media (max-width: 1200px) {
  .shell { grid-template-columns: 218px minmax(0, 1fr); }
  .rail { padding-inline: 14px; }
  .main { padding: 28px 24px 40px; }
  .workspace-topbar { padding-inline: 24px; }
  .lumrivo-console .pipeline { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lumrivo-console .pipeline button { min-height: 108px; }
  .inbox { grid-template-columns: minmax(260px, 40%) minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .shell { grid-template-columns: minmax(0, 1fr); }
  .rail { position: static; height: auto; flex-direction: row; flex-wrap: wrap; padding: 16px; gap: 12px 20px; overflow: visible; }
  .rail .lumrivo-brand { margin: 0; }
  .rail .lumrivo-brand img { width: 124px; height: 41px; }
  .rail .lumrivo-brand > span { font-size: 11px; }
  .lumrivo-console .mobile-menu { display: inline-flex; margin-left: auto; font-size: 11px; min-height: 36px; }
  .workspace-card { margin: 0; width: 100%; gap: 4px 10px; padding: 12px; }
  .rail .workspace-info select { max-width: 100%; width: 100%; }
  .nav-label, .rail-note { display: none; }
  .rail:not(.is-nav-open) .workspace-card, .rail:not(.is-nav-open) nav, .rail:not(.is-nav-open) .rail-foot { display: none; }
  .rail nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 4px; }
  .rail nav a { flex: none; padding: 8px 10px; min-height: 36px; font-size: 11px; gap: 6px; }
  .rail nav a .ui-icon { width: 16px; height: 16px; }
  .rail nav .nav-admin { border: 0; margin: 0; padding: 8px 10px; font-size: 11px; }
  .rail-foot { width: 100%; padding-top: 12px; }
  .account-info { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex: 1; }
  .account-info > span { max-width: 60vw; }
  .workspace-topbar { height: 52px; padding-inline: 20px; }
  .main { padding: 26px 20px 40px; }
  .inbox { grid-template-columns: minmax(260px, 42%) minmax(0, 1fr); }
  .lead-detail { position: static; max-height: 652px; padding: 20px; }
  .detail-empty { padding-inline: 4px; }
  .detail-empty h2 { font-size: 19px; }
  .inbox-guidance { padding: 15px; gap: 12px; }
  .inbox-guidance .btn { padding: 8px 10px; }
}
@media (max-width: 650px) {
  .workspace-topbar { padding-inline: 16px; }
  .topbar-status { display: none; }
  .main { padding: 24px 16px 36px; }
  .view { gap: 18px; }
  .view-head { gap: 16px; }
  .view-head h1 { font-size: 28px; }
  .page-heading { gap: 9px; }
  .view-head .actions { width: 100%; }
  .view-head .actions button { min-height: 38px; }
  .lumrivo-console .pipeline { gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lumrivo-console .pipeline button { padding: 14px; gap: 11px; min-height: 110px; }
  .inbox-guidance { display: grid; grid-template-columns: 43px minmax(0, 1fr); align-items: start; }
  .inbox-guidance > div { min-width: 0; }
  .inbox-guidance .btn { grid-column: 2; margin-left: 0; justify-self: start; min-height: 34px; white-space: normal; }
  .inbox-toolbar { padding: 14px; gap: 12px; }
  .inbox-filters { justify-content: space-between; width: 100%; }
  .inbox-search { width: 100%; }
  .inbox { grid-template-columns: minmax(0, 1fr); }
  .inbox-list { border-right: 0; border-bottom: 1px solid var(--line); }
  .lead-list { max-height: 380px; }
  .lead-detail { max-height: none; }
  .lead-detail.is-empty { min-height: 360px; }
  .detail-empty { padding: 32px 16px; }
  .settings-section { padding: 20px; }
  .activity li { grid-template-columns: 1fr; gap: 5px; padding: 16px; }
}
@media print { .workspace-topbar { display: none; } .main { padding: 0; } .lead-list, .lead-detail { max-height: none; overflow: visible; } }

/* CRM extends the existing workspace shell. */
.crm-board { display:flex; gap:1rem; overflow-x:auto; padding:1rem 0; align-items:flex-start; }
.crm-column { min-width:260px; flex:1; background:var(--surface,#f5f7fa); border:1px solid #e1e5eb; border-radius:12px; padding:1rem; }
.crm-deal { background:white; border:1px solid #e1e5eb; border-radius:10px; padding:1rem; margin:1rem 0; }
.crm-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1rem; }
.crm-form { display:grid; gap:.65rem; padding:1rem 0; }
.crm-form input,.crm-form select,.crm-form textarea { min-width:0; width:100%; }
.crm-warning { color:#8b4513; font-size:.85rem; }
.crm-grid.crm-forms { align-items:start; }
.crm-forms .crm-form { align-self:start; align-content:start; background:#fff; border:1px solid var(--line,#e1e5eb); border-radius:12px; padding:1rem; }
.crm-form h3,.crm-form p { margin:0; }
.crm-form label { display:grid; gap:.35rem; font-size:.9rem; line-height:1.4; }
.crm-form button[type=submit] { justify-self:start; margin-top:.35rem; min-height:40px; }
.crm-form [role=status]:empty { display:none; }
.crm-deal details { margin-top:.75rem; }
.crm-deal summary { cursor:pointer; padding:.4rem 0; }
.crm-deal strong,.crm-deal p { overflow-wrap:anywhere; }
.crm-view-switch { display:flex; gap:.5rem; flex-wrap:wrap; margin:1rem 0; }
.crm-view-switch button { min-height:40px; }
.crm-view-switch button[aria-pressed=true] { background:#5B4BDB; color:white; }
.crm-board[hidden],.crm-list[hidden] { display:none; }
.crm-list { max-width:100%; overflow-x:auto; border:1px solid var(--line,#e1e5eb); border-radius:10px; }
.crm-list table { width:100%; border-collapse:collapse; min-width:620px; }
.crm-list caption { text-align:left; padding:1rem; font-weight:600; }
.crm-list th,.crm-list td { padding:.85rem; text-align:left; vertical-align:top; border-top:1px solid var(--line,#e1e5eb); }
.crm-list tbody th { font-weight:600; }
.crm-list .crm-deal { min-width:260px; max-width:420px; }
@media(max-width:650px) {
 .crm-grid.crm-forms { grid-template-columns:minmax(0,1fr); }
 .crm-column { min-width:min(280px,80vw); }
 .crm-form input,.crm-form select,.crm-form textarea { min-height:44px; font-size:16px; }
 .crm-form button[type=submit] { width:100%; justify-self:stretch; }
 .crm-list { -webkit-overflow-scrolling:touch; }
}
