:root {
  --olaya-navy: #10294c;
  --olaya-blue: #0968b7;
  --olaya-cyan: #36a4da;
  --olaya-ink: #172235;
  --olaya-muted: #68758a;
  --olaya-line: #d9e1ea;
  --olaya-bg: #f3f6f9;
  --olaya-danger: #ad2f32;
  --olaya-amber: #b45b09;
  --olaya-green: #287344;
}

html:has(body.olaya-workspace-page),
body.olaya-workspace-page { margin: 0 !important; min-height: 100%; background: var(--olaya-bg); }
body.olaya-workspace-page #wpadminbar { display: none !important; }
.olaya-app, .olaya-app * { box-sizing: border-box; letter-spacing: 0; }
.olaya-app {
  width: 100%; max-width: 760px; min-height: 100svh; margin: 0 auto;
  background: var(--olaya-bg); color: var(--olaya-ink); font-family: Arial, Helvetica, sans-serif;
}
.olaya-header {
  min-height: 72px; padding: 14px 18px; background: var(--olaya-navy); color: #fff;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.olaya-brand { line-height: 1; white-space: nowrap; }
.olaya-brand img { display: block; width: 130px; height: auto; padding: 3px; background: #fff; }
.olaya-brand small { display: block; margin-top: 7px; color: #dce8f3; font: 9px Arial, sans-serif; letter-spacing: 1.6px; }
.olaya-user { color: #dce8f3; font-size: 12px; text-align: right; display: grid; justify-items: end; gap: 7px; }
.olaya-user a { color: #fff; }
.olaya-user button { min-height: 34px; padding: 6px 10px; border: 1px solid #8fc4df; border-radius: 5px; background: #fff; color: var(--olaya-navy); font-size: 11px; font-weight: 800; cursor: pointer; }
.olaya-user button[hidden] { display: none; }
.olaya-main-tabs { padding: 0 16px; border-bottom: 1px solid var(--olaya-line); display: grid; grid-template-columns: repeat(3,1fr); background: #fff; }
.olaya-main-tabs button { min-height: 48px; border: 0; border-bottom: 3px solid transparent; background: #fff; color: var(--olaya-muted); font-size: 13px; font-weight: 800; cursor: pointer; }
.olaya-main-tabs button.is-active { border-bottom-color: var(--olaya-blue); color: var(--olaya-navy); }
.olaya-today { padding: 24px 16px 56px; }
.olaya-today-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:20px; }
.olaya-today-heading small, .olaya-today-focus small { color:var(--olaya-blue); font-size:9px; font-weight:900; letter-spacing:1.3px; }
.olaya-today-heading h1 { margin:4px 0 5px; color:var(--olaya-navy); font:700 28px/1.08 Georgia,serif; }
.olaya-today-heading p { max-width:520px; margin:0; color:var(--olaya-muted); font-size:12px; line-height:1.5; }
.olaya-today-heading > button { flex:0 0 auto; min-height:40px; padding:8px 13px; border:0; border-radius:5px; background:var(--olaya-green); color:#fff; font-weight:800; cursor:pointer; }
.olaya-today-metrics { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--olaya-line); background:#fff; }
.olaya-today-metrics > * { min-width:0; min-height:92px; padding:13px 10px; border:0; border-right:1px solid var(--olaya-line); background:#fff; color:inherit; text-align:left; cursor:default; }
.olaya-today-metrics > button { cursor:pointer; }
.olaya-today-metrics > button:hover { background:#f6f9fb; }
.olaya-today-metrics > *:last-child { border-right:0; }
.olaya-today-metrics strong, .olaya-today-metrics span, .olaya-today-metrics small { display:block; }
.olaya-today-metrics strong { color:var(--olaya-navy); font:700 25px Georgia,serif; }
.olaya-today-metrics span { margin-top:3px; color:var(--olaya-ink); font-size:11px; font-weight:800; }
.olaya-today-metrics small { margin-top:3px; color:var(--olaya-muted); font-size:9px; }
.olaya-today-focus { margin:18px 0; padding:22px; display:flex; align-items:center; justify-content:space-between; gap:22px; background:var(--olaya-navy); color:#fff; box-shadow:0 10px 26px rgba(16,41,76,.14); }
.olaya-focus-copy { min-width:0; }
.olaya-today-focus small { color:#7bd2f4; }
.olaya-today-focus h2 { margin:5px 0; color:#fff; font:700 26px Georgia,serif; }
.olaya-today-focus p { margin:0; color:#dce8f3; font-size:12px; }
.olaya-focus-actions { flex:0 0 auto; display:flex; gap:7px; }
.olaya-focus-actions a, .olaya-focus-actions button { min-height:40px; padding:9px 12px; border:1px solid #6f87a8; border-radius:4px; background:#fff; color:var(--olaya-navy)!important; display:grid; place-items:center; text-decoration:none!important; font-size:11px; font-weight:900; cursor:pointer; }
.olaya-focus-actions .is-whatsapp { border-color:#3c9a6c; background:#287344; color:#fff!important; }
.olaya-today-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.olaya-today-panel { min-width:0; border:1px solid var(--olaya-line); background:#fff; }
.olaya-today-panel > header { min-height:72px; padding:14px 15px; border-bottom:1px solid var(--olaya-line); display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.olaya-today-panel h2 { margin:0; color:var(--olaya-navy); font:700 17px Georgia,serif; }
.olaya-today-panel header p { margin:3px 0 0; color:var(--olaya-muted); font-size:10px; }
.olaya-today-panel header > span { min-width:28px; height:28px; padding:5px; border-radius:50%; background:#e8f1f7; color:var(--olaya-blue); display:grid; place-items:center; font-size:11px; font-weight:900; }
.olaya-today-panel.is-engagement header > span { background:#e7f3eb; color:var(--olaya-green); }
.olaya-today-list button { width:100%; min-height:56px; padding:10px 14px; border:0; border-bottom:1px solid #e8edf2; background:#fff; color:inherit; display:flex; align-items:center; justify-content:space-between; gap:12px; text-align:left; cursor:pointer; }
.olaya-today-list button:last-child { border-bottom:0; }
.olaya-today-list button:hover { background:#f7fafc; }
.olaya-today-list strong, .olaya-today-list small { display:block; }
.olaya-today-list strong { color:var(--olaya-ink); font-size:12px; }
.olaya-today-list small { margin-top:3px; color:var(--olaya-muted); font-size:10px; }
.olaya-today-list b { color:var(--olaya-blue); }
.olaya-panel-empty, .olaya-today-empty { margin:0; padding:24px 15px; color:var(--olaya-muted); font-size:11px; }
.olaya-today-empty { margin:18px 0; border-left:4px solid var(--olaya-green); background:#fff; }
.olaya-today-empty strong { display:block; color:var(--olaya-green); font-size:15px; }
.olaya-today-empty p { margin:4px 0 0; }
@media(max-width:620px){.olaya-today{padding:18px 12px 48px}.olaya-today-heading h1{font-size:24px}.olaya-today-metrics{grid-template-columns:1fr 1fr}.olaya-today-metrics>*{min-height:78px;border-bottom:1px solid var(--olaya-line)}.olaya-today-metrics>*:nth-child(2){border-right:0}.olaya-today-metrics>*:nth-child(3),.olaya-today-metrics>*:nth-child(4){border-bottom:0}.olaya-today-focus{align-items:stretch;flex-direction:column;padding:18px}.olaya-focus-actions{display:grid;grid-template-columns:1fr 1fr 1fr}.olaya-today-grid{grid-template-columns:1fr}}
.olaya-stats { display: grid; border-bottom: 1px solid var(--olaya-line); background: #fff; }
.olaya-stats-four { grid-template-columns: repeat(4, 1fr); }
.olaya-stats div { min-width: 0; padding: 12px 6px; text-align: center; border-right: 1px solid var(--olaya-line); }
.olaya-stats div:last-child { border-right: 0; }
.olaya-stats strong { display: block; color: var(--olaya-navy); font: 700 21px Georgia, serif; }
.olaya-stats span { display: block; margin-top: 2px; color: var(--olaya-muted); font-size: 10px; }
.olaya-portfolio { padding: 18px 16px 50px; }
.olaya-priority {
  margin-bottom: 18px; padding: 13px 14px; border-left: 4px solid var(--olaya-danger);
  border-radius: 6px; background: #fff; display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.olaya-priority div { min-width: 0; }
.olaya-priority span { display: block; margin-bottom: 3px; color: var(--olaya-danger); font-size: 9px; font-weight: 800; letter-spacing: 1.2px; }
.olaya-priority strong { display: block; overflow: hidden; color: var(--olaya-navy); font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.olaya-priority small { color: var(--olaya-muted); font-size: 11px; }
.olaya-priority button { min-height: 38px; padding: 8px 13px; border: 0; border-radius: 5px; background: var(--olaya-navy); color: #fff; font-weight: 700; cursor: pointer; }
.olaya-tools { margin-bottom: 20px; display: grid; grid-template-columns: minmax(0,1fr) minmax(190px,260px) auto; gap: 10px; align-items: end; }
.olaya-search span { display: block; margin-bottom: 6px; color: var(--olaya-muted); font-size: 11px; font-weight: 700; }
.olaya-search input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--olaya-line); border-radius: 6px; background: #fff; color: var(--olaya-ink); font: 16px Arial, sans-serif; }
.olaya-search input:focus { outline: 2px solid var(--olaya-cyan); border-color: var(--olaya-cyan); }
.olaya-sort span { display: block; margin-bottom: 6px; color: var(--olaya-muted); font-size: 11px; font-weight: 700; }
.olaya-sort select { width: 100%; min-height: 46px; padding: 9px; border: 1px solid var(--olaya-line); border-radius: 6px; background: #fff; color: var(--olaya-ink); }
.olaya-new-lead-button { min-height: 46px; padding: 9px 14px; border: 0; border-radius: 5px; background: var(--olaya-green); color: #fff; font-weight: 800; cursor: pointer; }
.olaya-filters { grid-column: 1 / -1; display: flex; overflow-x: auto; border: 1px solid var(--olaya-line); border-radius: 6px; background: #fff; scrollbar-width: thin; }
.olaya-filters button { flex: 0 0 auto; min-height: 38px; padding: 7px 11px; border: 0; border-right: 1px solid var(--olaya-line); background: #fff; color: var(--olaya-muted); font-size: 12px; font-weight: 700; cursor: pointer; }
.olaya-filters button:last-child { border-right: 0; }
.olaya-filters button.is-active { background: var(--olaya-navy); color: #fff; }
.olaya-list-heading { margin-bottom: 9px; display: flex; align-items: baseline; justify-content: space-between; }
.olaya-list-heading h1 { margin: 0; color: var(--olaya-navy); font: 700 25px Georgia, serif; }
.olaya-list-heading span { color: var(--olaya-muted); font-size: 12px; }
.olaya-stage-legend { margin: -7px 0 15px; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: thin; }
.olaya-stage-legend span { flex: 0 0 auto; padding: 5px 8px; border-radius: 12px; color: #fff; font-size: 10px; font-weight: 800; }
.olaya-client-list { display: grid; gap: 8px; }
.olaya-client-row { overflow: hidden; border: 1px solid var(--olaya-line); border-left: 4px solid #738092; border-radius: 7px; background: #fff; }
.olaya-client-row.stage-new { border-left-color: #607185; }
.olaya-client-row.stage-contacted { border-left-color: #0874b9; }
.olaya-client-row.stage-no-answer { border-left-color: #b45b09; }
.olaya-client-row.stage-qualified { border-left-color: #14856a; }
.olaya-client-row.stage-demand { border-left-color: #315fa8; }
.olaya-client-row.stage-proposal { border-left-color: #7650a3; }
.olaya-client-row.stage-visit { border-left-color: #087f8f; }
.olaya-client-row.stage-negotiation { border-left-color: #c24f17; }
.olaya-client-row.stage-callback { border-left-color: #526db2; }
.olaya-client-row.stage-discarded, .olaya-client-row.stage-archived { border-left-color: #6c7480; }
.olaya-client-row.stage-invalid { border-left-color: #ad2f32; }
.olaya-client-row.stage-won { border-left-color: #287344; }
.olaya-client-row.is-open { border-color: #aab9c9; box-shadow: 0 7px 20px rgba(16,41,76,.08); }
.olaya-client-summary {
  width: 100%; min-height: 76px; padding: 11px 12px; border: 0; background: #fff; color: inherit;
  display: grid; grid-template-columns: 8px minmax(0,1fr) 148px 18px; align-items: center; gap: 10px; text-align: left; cursor: pointer;
}
.olaya-client-summary:hover { background: #f9fbfd; }
.olaya-signal { width: 5px; height: 42px; border-radius: 3px; background: #91a0b0; }
.olaya-signal.is-danger { background: var(--olaya-danger); }
.olaya-signal.is-warning { background: var(--olaya-amber); }
.olaya-signal.is-info { background: var(--olaya-blue); }
.olaya-signal.is-closed { background: var(--olaya-green); }
.olaya-client-main { min-width: 0; }
.olaya-client-main strong { display: block; overflow: hidden; color: var(--olaya-ink); font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.olaya-client-main small { display: block; margin-top: 3px; color: var(--olaya-blue); font-size: 13px; font-weight: 700; }
.olaya-client-main em { display: block; overflow: hidden; margin-top: 4px; color: var(--olaya-muted); font-size: 11px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.olaya-client-state { min-width: 0; text-align: right; }
.olaya-state-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
.olaya-client-state b { display: inline-block; max-width: 100%; overflow: hidden; padding: 4px 7px; border-radius: 12px; background: #edf1f5; color: #526172; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.olaya-client-state .olaya-stage { color: #fff; }
.olaya-stage.is-new, .olaya-stage-legend .is-new { background: #607185; }
.olaya-stage.is-contacted, .olaya-stage-legend .is-contacted { background: #0874b9; }
.olaya-stage.is-no-answer { background: #b45b09; }
.olaya-stage.is-qualified, .olaya-stage-legend .is-qualified { background: #14856a; }
.olaya-stage.is-demand, .olaya-stage-legend .is-demand { background: #315fa8; }
.olaya-stage.is-proposal, .olaya-stage-legend .is-proposal { background: #7650a3; }
.olaya-stage.is-visit, .olaya-stage-legend .is-visit { background: #087f8f; }
.olaya-stage.is-negotiation, .olaya-stage-legend .is-negotiation { background: #c24f17; }
.olaya-stage.is-callback { background: #526db2; }
.olaya-stage.is-discarded, .olaya-stage.is-archived { background: #6c7480; }
.olaya-stage.is-invalid { background: #ad2f32; }
.olaya-stage.is-won, .olaya-stage-legend .is-won { background: #287344; }
.olaya-client-state b.is-danger { background: #f7e3e3; color: #8b2427; }
.olaya-client-state b.is-warning { background: #fff0dc; color: #814208; }
.olaya-client-state b.is-info { background: #e2f0fa; color: #07538d; }
.olaya-client-state b.is-closed { background: #e2f1e7; color: #205f38; }
.olaya-client-state small { display: block; margin-top: 5px; color: var(--olaya-muted); font-size: 10px; }
.olaya-chevron { color: var(--olaya-muted); font-size: 20px; transition: transform .18s ease; }
.olaya-client-row.is-open .olaya-chevron { transform: rotate(180deg); }
.olaya-client-detail { padding: 16px; border-top: 1px solid var(--olaya-line); background: #f9fbfd; }
.olaya-detail-loading, .olaya-no-results { padding: 30px 16px; color: var(--olaya-muted); text-align: center; font-size: 13px; }
.olaya-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.olaya-detail-grid > div { min-width: 0; padding: 9px 0; border-bottom: 1px solid var(--olaya-line); }
.olaya-detail-grid span { display: block; color: var(--olaya-muted); font-size: 10px; }
.olaya-detail-grid strong { display: block; margin-top: 3px; overflow-wrap: anywhere; color: var(--olaya-ink); font-size: 13px; }
.olaya-edit-lead { margin-top: 12px; padding: 10px 12px; border: 1px solid var(--olaya-line); background: #fff; }
.olaya-edit-lead summary { color: var(--olaya-blue); font-size: 12px; font-weight: 800; cursor: pointer; }
.olaya-edit-lead label { display: block; margin-top: 9px; color: var(--olaya-muted); font-size: 10px; font-weight: 700; }
.olaya-edit-lead input, .olaya-edit-lead textarea { width: 100%; min-height: 42px; margin-top: 5px; padding: 9px; border: 1px solid var(--olaya-line); border-radius: 5px; background: #fff; }
.olaya-edit-lead input[readonly] { background: #edf1f5; color: #596775; }
.olaya-save-lead { min-height: 44px; margin-top: 12px; padding: 9px 14px; border: 0; border-radius: 5px; background: var(--olaya-blue); color: #fff; font-weight: 800; cursor: pointer; }
.olaya-notes { margin-top: 14px; padding: 12px; border-left: 3px solid var(--olaya-cyan); background: #fff; }
.olaya-notes span { color: var(--olaya-muted); font-size: 10px; }
.olaya-notes p { margin: 5px 0 0; white-space: pre-line; font-size: 13px; }
.olaya-legacy { margin-top: 12px; padding: 10px 0; border-bottom: 1px solid var(--olaya-line); }
.olaya-legacy summary { color: var(--olaya-blue); font-size: 12px; font-weight: 700; cursor: pointer; }
.olaya-legacy p { max-height: 180px; overflow: auto; white-space: pre-line; color: var(--olaya-muted); font-size: 12px; }
.olaya-history { margin-top: 18px; }
.olaya-history h2 { margin: 0 0 8px; color: var(--olaya-navy); font: 700 16px Georgia, serif; }
.olaya-history > div { padding: 9px 0; border-top: 1px solid var(--olaya-line); }
.olaya-history strong { display: block; font-size: 12px; }
.olaya-history span { color: var(--olaya-muted); font-size: 10px; }
.olaya-history p { margin: 4px 0 0; white-space: pre-line; font-size: 12px; }
.olaya-history-empty, .olaya-closed-note { margin: 14px 0 0; color: var(--olaya-muted); font-size: 12px; }
.olaya-closed-note { padding: 11px; border-left: 3px solid var(--olaya-green); background: #e7f3eb; color: #205f38; }
.olaya-row-call { min-height: 54px; margin-top: 17px; padding: 12px 16px; border-radius: 6px; background: var(--olaya-blue); color: #fff !important; display: flex; align-items: center; justify-content: center; gap: 9px; text-decoration: none !important; font-size: 15px; font-weight: 800; }
.olaya-row-call span { font-size: 21px; }
.olaya-quick-actions { margin-top: 16px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }
.olaya-quick-actions a, .olaya-quick-actions button { min-height: 44px; margin: 0; padding: 8px 6px; border: 1px solid var(--olaya-line); border-radius: 5px; display: grid; place-items: center; background: #fff; color: var(--olaya-navy) !important; text-align: center; text-decoration: none !important; font: 700 11px Arial,sans-serif; cursor: pointer; }
.olaya-quick-actions .olaya-row-call { border-color: var(--olaya-blue); background: var(--olaya-blue); color: #fff !important; }
.olaya-quick-actions .olaya-row-whatsapp { border-color: #208a58; background: #208a58; color: #fff !important; }
.olaya-quick-actions .olaya-row-criteria { border-color: #17465a; background: #17465a; color: #fff !important; }
.olaya-demand { margin: 18px -16px 0; padding: 20px 16px; border-top: 1px solid var(--olaya-line); background: #fff; }
.olaya-ai-modal { position: fixed; z-index: 100000; inset: 0; padding: 18px; overflow: hidden; display: flex; align-items: flex-start; justify-content: center; background: rgba(7,22,41,.78); backdrop-filter: blur(5px); }
.olaya-ai-dialog { position: relative; width: min(1040px,100%); min-height: 280px; max-height: calc(100svh - 36px); margin: 0; padding: 24px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; border: 0; border-radius: 7px; box-shadow: 0 24px 70px rgba(0,0,0,.36); }
.olaya-ai-close { position: sticky; z-index: 12; top: 10px; float: right; width: 42px; height: 42px; margin: 10px 0 -52px; border: 1px solid #cbd6e0; border-radius: 5px; background: #fff; color: var(--olaya-navy); box-shadow: 0 5px 16px rgba(7,22,41,.16); font-size: 27px; line-height: 1; cursor: pointer; }
.olaya-ai-close:hover, .olaya-ai-close:focus-visible { border-color: var(--olaya-blue); outline: 2px solid #8fd1ee; }
.olaya-ai-close:disabled { opacity: .45; cursor: wait; }
.olaya-ai-modal-loading, .olaya-ai-modal-error { min-height: 230px; padding: 65px 20px 30px; display: grid; align-content: center; justify-items: center; text-align: center; }
.olaya-ai-modal-loading strong, .olaya-ai-modal-loading span { display: block; }
.olaya-ai-modal-loading strong, .olaya-ai-modal-error strong { color: var(--olaya-navy); font: 700 23px Georgia,serif; }
.olaya-ai-modal-loading span, .olaya-ai-modal-error p { margin-top: 8px; color: var(--olaya-muted); font-size: 13px; }
.olaya-ai-modal-error button { min-height: 42px; margin-top: 12px; padding: 9px 18px; border: 0; border-radius: 5px; background: var(--olaya-blue); color: #fff; font-weight: 800; cursor: pointer; }
.olaya-ai-search { padding-top: 0; }
.olaya-ai-hero { margin: 0 -24px 18px; padding: 24px 76px 24px 24px; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; background: var(--olaya-navy); color: #fff; }
.olaya-ai-hero small { color: #8fd1ee; font-size: 9px; font-weight: 800; letter-spacing: 1.1px; }
.olaya-ai-hero h2 { margin: 4px 0 7px; color: #fff; font: 700 26px Georgia,serif; }
.olaya-ai-hero p { max-width: 510px; margin: 0; color: #dce8f3; font-size: 12px; line-height: 1.5; }
.olaya-ai-hero > span { flex: 0 0 auto; min-height: 30px; padding: 7px 10px; border: 1px solid #ffffff45; border-radius: 4px; color: #fff; font-size: 10px; font-weight: 800; }
.olaya-ai-live::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #a8b7c7; }
.olaya-ai-live.is-sent::before, .olaya-ai-live.is-thinking::before, .olaya-ai-live.is-matching::before { background: #69d3ff; animation: olaya-status-pulse 1.2s ease-in-out infinite; }
.olaya-ai-live.is-ready::before { background: #66d28a; }
.olaya-ai-live.is-error::before { background: #ff8b8d; }
.olaya-ai-hero.is-criteria { background: #17465a; }
.olaya-demand .olaya-ai-brief { margin: 0; color: var(--olaya-navy); font-size: 12px; }
.olaya-demand .olaya-ai-brief textarea { min-height: 92px; border: 1px solid #9bb2c7; background: #fff; font-size: 15px; line-height: 1.5; transition: border-color .18s ease, box-shadow .18s ease; }
.olaya-demand .olaya-ai-brief textarea:focus { outline: 0; border-color: var(--olaya-blue); box-shadow: 0 0 0 3px rgba(54,164,218,.18); }
.olaya-demand .olaya-ai-brief textarea:disabled { background: #eef2f5; color: #6c7886; }
.olaya-ai-conversation { margin-bottom: 14px; }
.olaya-chat-messages { min-height: 220px; max-height: 38vh; padding: 16px; overflow-y: auto; scroll-behavior: smooth; display: grid; align-content: start; gap: 12px; background: #eef3f7; border: 1px solid #cbd6e0; }
.olaya-chat-message { max-width: 86%; padding: 11px 13px; border-radius: 6px; background: #fff; box-shadow: 0 2px 8px #10294c12; }
.olaya-chat-message.is-user { margin-left: auto; background: #17465a; color: #fff; }
.olaya-chat-message.is-assistant { margin-right: auto; border-left: 3px solid var(--olaya-green); }
.olaya-chat-message small { display: block; margin-bottom: 4px; color: var(--olaya-muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.olaya-chat-message.is-user small { color: #c9e1ec; }
.olaya-chat-message p { margin: 0; font-size: 13px; line-height: 1.5; }
.olaya-ai-welcome { padding: 18px; border: 1px solid var(--olaya-line); background: #f3f6f9; }
.olaya-ai-welcome strong { color: var(--olaya-navy); font: 700 18px Georgia,serif; }
.olaya-ai-welcome p { margin: 6px 0 0; color: var(--olaya-muted); font-size: 12px; }
.olaya-ai-progress { margin-bottom: 12px; padding: 12px 14px; border: 1px solid var(--olaya-line); background: #fff; display: grid; grid-template-columns: minmax(180px,.8fr) minmax(360px,1.4fr); align-items: center; gap: 18px; }
.olaya-ai-progress-copy strong, .olaya-ai-progress-copy span { display: block; }
.olaya-ai-progress-copy strong { color: var(--olaya-navy); font-size: 13px; }
.olaya-ai-progress-copy span { margin-top: 3px; color: var(--olaya-muted); font-size: 10px; line-height: 1.4; }
.olaya-ai-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.olaya-ai-steps > span { position: relative; min-width: 0; padding: 0 8px 0 22px; color: #7b8795; font-size: 10px; font-weight: 700; line-height: 1.3; }
.olaya-ai-steps > span::after { content: ''; position: absolute; z-index: 0; top: 7px; right: -4px; width: calc(100% - 15px); height: 1px; background: #cbd6e0; transform: translateX(50%); }
.olaya-ai-steps > span:last-child::after { display: none; }
.olaya-ai-steps i { position: absolute; z-index: 1; top: 2px; left: 4px; width: 11px; height: 11px; border: 2px solid #a7b2bd; border-radius: 50%; background: #fff; }
.olaya-ai-steps > span.is-current { color: var(--olaya-blue); }
.olaya-ai-steps > span.is-current i { border-color: var(--olaya-blue); box-shadow: 0 0 0 4px rgba(54,164,218,.17); animation: olaya-status-pulse 1.2s ease-in-out infinite; }
.olaya-ai-steps > span.is-done { color: var(--olaya-green); }
.olaya-ai-steps > span.is-done i { border-color: var(--olaya-green); background: var(--olaya-green); }
.olaya-ai-composer { padding: 14px; border: 1px solid #cbd6e0; border-top: 0; background: #fff; }
.olaya-composer-tools { margin-top: 9px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.olaya-composer-tools > span { color: var(--olaya-muted); font-size: 10px; }
.olaya-microphone { min-height: 38px; margin: 0; padding: 7px 12px; border: 1px solid var(--olaya-blue); border-radius: 5px; background: #fff; color: var(--olaya-blue); display: inline-flex; align-items: center; gap: 8px; font-weight: 800; cursor: pointer; }
.olaya-microphone:disabled { opacity: .62; cursor: wait; }
.olaya-mic-icon { position: relative; width: 11px; height: 16px; border: 2px solid currentColor; border-radius: 7px; display: inline-block; }
.olaya-mic-icon::before { content: ''; position: absolute; left: 50%; bottom: -6px; width: 15px; height: 9px; border: 2px solid currentColor; border-top: 0; border-radius: 0 0 9px 9px; transform: translateX(-50%); }
.olaya-mic-icon::after { content: ''; position: absolute; left: 50%; bottom: -9px; width: 7px; height: 2px; background: currentColor; transform: translateX(-50%); }
.olaya-microphone.is-listening { border-color: var(--olaya-danger); background: #fff0f0; color: var(--olaya-danger); animation: olaya-listening 1s ease-in-out infinite; }
.olaya-chat-message.is-thinking { min-width: 250px; display: flex; align-items: center; gap: 11px; }
.olaya-ai-thinking-mark { position: relative; flex: 0 0 38px; width: 38px; height: 38px; display: grid; place-items: center; }
.olaya-ai-thinking-mark > span { position: absolute; inset: 0; border: 2px solid #c8d5df; border-top-color: var(--olaya-blue); border-radius: 50%; animation: olaya-spin 1s linear infinite; }
.olaya-ai-thinking-mark img { width: 25px; max-height: 25px; padding: 3px; object-fit: contain; background: #fff; }
.olaya-thinking-dots { display: inline-flex; gap: 3px; margin-left: 5px; vertical-align: middle; }
.olaya-thinking-dots i { width: 4px; height: 4px; border-radius: 50%; background: var(--olaya-blue); animation: olaya-dot 1.05s ease-in-out infinite; }
.olaya-thinking-dots i:nth-child(2) { animation-delay: .14s; }
.olaya-thinking-dots i:nth-child(3) { animation-delay: .28s; }
.olaya-manual-note { margin: 14px 0 2px; padding-top: 14px; border-top: 1px solid var(--olaya-line); }
.olaya-manual-note strong, .olaya-manual-note span { display: block; }
.olaya-manual-note strong { color: var(--olaya-navy); font-size: 13px; }
.olaya-manual-note span { margin-top: 3px; color: var(--olaya-muted); font-size: 10px; }
.olaya-mode-explanation { margin: -7px 0 16px; padding: 10px 12px; border-left: 3px solid var(--olaya-cyan); background: #eef7fb; color: #385468; font-size: 11px; }
.olaya-section-heading { margin-bottom: 15px; display: flex; align-items: end; justify-content: space-between; gap: 14px; }
.olaya-section-heading small { color: var(--olaya-blue); font-size: 9px; font-weight: 800; letter-spacing: 1.2px; }
.olaya-section-heading h2 { margin: 2px 0 0; color: var(--olaya-navy); font: 700 20px Georgia,serif; }
.olaya-section-heading > span, .olaya-section-heading > strong { color: var(--olaya-muted); font-size: 11px; }
.olaya-demand-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.olaya-demand label, .olaya-proposal-builder label { display: block; margin: 10px 0 0; color: var(--olaya-muted); font-size: 10px; font-weight: 700; }
.olaya-demand input, .olaya-demand textarea, .olaya-demand select, .olaya-proposal-builder input { width: 100%; min-height: 42px; margin-top: 5px; padding: 9px; border: 1px solid var(--olaya-line); border-radius: 5px; background: #fff; color: var(--olaya-ink); font: 14px Arial,sans-serif; }
.olaya-demand textarea { resize: vertical; }
.olaya-demand-actions { margin-top: 13px; display: flex; flex-wrap: wrap; gap: 8px; }
.olaya-demand-actions button, .olaya-proposal-builder button { min-height: 44px; padding: 9px 14px; border: 0; border-radius: 5px; background: var(--olaya-navy); color: #fff; font-weight: 800; cursor: pointer; }
.olaya-demand-actions button { flex: 1 1 145px; }
.olaya-demand-actions button:last-child { background: var(--olaya-blue); }
.olaya-demand-actions .olaya-ai-primary { flex-basis: 100%; min-height: 52px; background: var(--olaya-green); font-size: 14px; }
.olaya-demand-actions button:disabled { opacity: .62; cursor: wait; }
.olaya-demand-actions .olaya-ai-primary.is-busy { background: #315a6c; }
.olaya-button-spinner { width: 15px; height: 15px; margin-right: 8px; border: 2px solid #ffffff75; border-top-color: #fff; border-radius: 50%; display: inline-block; vertical-align: -3px; animation: olaya-spin .9s linear infinite; }
.olaya-demand .olaya-error { color: var(--olaya-danger) !important; }
.olaya-match-loading { margin-top: 18px; padding: 30px; background: var(--olaya-bg); color: var(--olaya-muted); text-align: center; }
.olaya-match-loading strong, .olaya-match-loading span { display: block; }
.olaya-match-loading strong { color: var(--olaya-navy); font-size: 15px; }
.olaya-match-loading span { margin-top: 6px; font-size: 11px; }
.olaya-search-error { margin-top: 18px; padding: 22px; border-left: 4px solid var(--olaya-danger); background: #fbecec; }
.olaya-search-error strong { color: #852528; }
.olaya-search-error p { margin: 6px 0 12px; color: #713638; font-size: 12px; }
.olaya-search-error button { min-height: 42px; padding: 9px 15px; border: 0; border-radius: 5px; background: var(--olaya-navy); color: #fff; font-weight: 800; cursor: pointer; }
.olaya-matches { margin-top: 24px; padding-top: 0; border: 2px solid #b8ddc5; outline: 0; background: #fff; }
.olaya-matches:focus, .olaya-result-empty:focus, .olaya-search-error:focus { outline: 3px solid rgba(54,164,218,.28); outline-offset: 3px; }
.olaya-matches .olaya-section-heading, .olaya-matches .olaya-product-list, .olaya-matches .olaya-proposal-builder, .olaya-matches .olaya-proposal-ready { margin-left: 18px; margin-right: 18px; }
.olaya-matches .olaya-section-heading { margin-top: 20px; }
.olaya-result-arrival { padding: 13px 16px; background: #e7f3eb; color: #205f38; display: flex; align-items: center; gap: 10px; }
.olaya-result-arrival > span { width: 29px; height: 29px; border-radius: 50%; display: grid; place-items: center; background: var(--olaya-green); color: #fff; font-weight: 900; }
.olaya-result-arrival strong, .olaya-result-arrival small { display: block; }
.olaya-result-arrival strong { font-size: 13px; }
.olaya-result-arrival small { margin-top: 2px; color: #3b7350; font-size: 10px; }
.olaya-matches.is-arriving { animation: olaya-result-arrive .65s ease both; }
.olaya-result-empty { margin-top: 20px; border-left: 4px solid var(--olaya-amber); background: #fff8e8; outline: 0; }
.olaya-result-empty strong, .olaya-result-empty span { display: block; }
.olaya-result-empty strong { color: #70410e; }
.olaya-result-empty span { margin-top: 5px; color: #7a5c39; }
.olaya-product-list { display: grid; gap: 10px; }
.olaya-product { position: relative; min-height: 138px; overflow: hidden; border: 1px solid var(--olaya-line); border-radius: 6px; display: grid; grid-template-columns: 145px minmax(0,1fr); background: #fff; }
.olaya-match-tier { display: inline-block; margin: 0 8px 7px 0; padding: 4px 7px; border: 1px solid #198754; color: #12633d; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.olaya-product.is-compatible { border-left: 4px solid #d39119; }
.olaya-product.is-compatible .olaya-match-tier { border-color: #d39119; color: #7a5008; background: #fff8e7; }
.olaya-product > img, .olaya-product-image { width: 145px; height: 100%; min-height: 138px; object-fit: cover; background: #e5ebef; display: grid; place-items: center; color: var(--olaya-muted); font-size: 11px; }
.olaya-product > div:last-child { padding: 15px; }
.olaya-product b { color: var(--olaya-green); font-size: 11px; }
.olaya-product h3 { margin: 3px 0 7px; color: var(--olaya-navy); font: 700 16px Georgia,serif; }
.olaya-product p { margin: 0 0 7px; color: var(--olaya-muted); font-size: 11px; }
.olaya-product strong { display: block; font-size: 17px; }
.olaya-product small { display: block; margin-top: 8px; color: var(--olaya-muted); font-size: 10px; }
.olaya-product-link { display: inline-block; margin-top: 9px; color: var(--olaya-blue); font-size: 11px; font-weight: 800; }
.olaya-product-select { position: absolute; z-index: 2; top: 7px; left: 7px; margin: 0 !important; padding: 5px 7px; border-radius: 4px; background: #fff; box-shadow: 0 2px 9px #0002; display: flex !important; align-items: center; gap: 4px; color: var(--olaya-ink) !important; }
.olaya-product-select input { width: 16px; min-height: 16px; margin: 0; }
.olaya-catalog-view { padding: 22px 16px 50px; }
.olaya-catalog-filters { padding: 14px; border: 1px solid var(--olaya-line); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; background: #fff; }
.olaya-catalog-filters label { min-width: 0; color: var(--olaya-muted); font-size: 10px; font-weight: 700; }
.olaya-catalog-filters input, .olaya-catalog-filters select { width: 100%; min-height: 42px; margin-top: 5px; padding: 9px; border: 1px solid var(--olaya-line); border-radius: 5px; background: #fff; color: var(--olaya-ink); font: 14px Arial,sans-serif; }
.olaya-catalog-search { grid-column: 1 / -1; }
.olaya-catalog-submit { width: 100%; min-height: 48px; margin: 10px 0 18px; border: 0; border-radius: 5px; background: var(--olaya-blue); color: #fff; font-size: 14px; font-weight: 800; cursor: pointer; }
.olaya-catalog-count { margin: 0 0 9px; color: var(--olaya-muted); font-size: 12px; }
.olaya-catalog-product small { line-height: 1.4; }
.olaya-proposal-builder { margin-top: 18px; padding: 15px; background: var(--olaya-bg); }
.olaya-proposal-builder > div strong, .olaya-proposal-builder > div span { display: block; }
.olaya-proposal-builder > div strong { color: var(--olaya-navy); font-size: 15px; }
.olaya-proposal-builder > div span { margin-top: 3px; color: var(--olaya-muted); font-size: 10px; }
.olaya-proposal-builder button { width: 100%; margin-top: 10px; background: var(--olaya-green); }
.olaya-proposal-builder button:disabled { opacity: .5; }
.olaya-proposal-ready { margin-top: 14px; padding: 16px; border-left: 4px solid var(--olaya-green); display: grid; gap: 8px; background: #e7f3eb; }
.olaya-proposal-ready a, .olaya-proposal-ready button { min-height: 42px; padding: 10px; border: 0; border-radius: 4px; display: grid; place-items: center; background: var(--olaya-navy); color: #fff !important; text-align: center; text-decoration: none !important; font-weight: 700; cursor: pointer; }
.olaya-proposal-ready a:nth-of-type(3) { background: #208a58; }
.olaya-proposal-ready small { color: var(--olaya-muted); }
.olaya-funnel { margin-top: 16px; }
.olaya-funnel > small { color: var(--olaya-muted); font-size: 9px; font-weight: 800; letter-spacing: 1.1px; }
.olaya-funnel > div { margin-top: 6px; display: flex; overflow-x: auto; border: 1px solid var(--olaya-line); border-radius: 5px; background: #fff; }
.olaya-funnel span { flex: 0 0 auto; padding: 8px 10px; border-right: 1px solid var(--olaya-line); color: var(--olaya-muted); font-size: 10px; }
.olaya-funnel span.is-done { background: #e7f3eb; color: var(--olaya-green); }
.olaya-funnel span.is-current { background: var(--olaya-green); color: #fff; font-weight: 800; }
.olaya-transfer { margin-top: 10px; padding: 10px 12px; border: 1px solid var(--olaya-line); border-radius: 5px; background: #fff; }
.olaya-transfer summary { color: var(--olaya-blue); font-size: 11px; font-weight: 800; cursor: pointer; }
.olaya-transfer > div { margin-top: 10px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; }
.olaya-transfer select { min-height: 42px; padding: 8px; border: 1px solid var(--olaya-line); background: #fff; }
.olaya-transfer button { border: 0; border-radius: 4px; background: var(--olaya-navy); color: #fff; font-weight: 800; }
.olaya-inline-result { margin: 14px -16px -16px; padding: 18px 16px 22px; background: var(--olaya-navy); color: #fff; }
.olaya-inline-result h2 { margin: 0 0 12px; color: #fff; font: 700 18px Georgia, serif; }
.olaya-outcomes { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.olaya-outcomes button { min-height: 44px; padding: 8px; border: 1px solid #53708f; border-radius: 5px; background: #1b3a60; color: #fff; font-size: 12px; font-weight: 700; cursor: pointer; }
.olaya-outcomes .outcome-contactado { border-color: #4ca7d8; }
.olaya-outcomes .outcome-no_contesta { border-color: #e6a047; }
.olaya-outcomes .outcome-interesado { border-color: #42ba96; }
.olaya-outcomes .outcome-demanda_definida { border-color: #7196d4; }
.olaya-outcomes .outcome-seleccion_enviada { border-color: #aa89cf; }
.olaya-outcomes .outcome-visita { border-color: #4cb9c5; }
.olaya-outcomes .outcome-negociacion { border-color: #e58658; }
.olaya-outcomes .outcome-volver_llamar { border-color: #879bd0; }
.olaya-outcomes .outcome-no_interesa, .olaya-outcomes .outcome-numero_erroneo { border-color: #d0787a; }
.olaya-outcomes .outcome-cerrado { border-color: #63b47e; }
.olaya-outcomes button.is-selected { border-color: #fff; box-shadow: 0 0 0 2px #fff; background: #fff; color: var(--olaya-navy); }
.olaya-result-fields label { display: block; margin-top: 15px; color: #e8f1f8; font-size: 11px; font-weight: 700; }
.olaya-result-fields textarea, .olaya-result-fields input { width: 100%; min-height: 45px; margin-top: 6px; padding: 10px; border: 1px solid #7890a8; border-radius: 5px; background: #fff; color: var(--olaya-ink); font: 16px Arial, sans-serif; }
.olaya-save { width: 100%; min-height: 50px; margin-top: 16px; border: 0; border-radius: 5px; background: var(--olaya-cyan); color: #08233e; font-size: 14px; font-weight: 800; cursor: pointer; }
.olaya-save:disabled { opacity: .65; }
.olaya-cancel-result { width: 100%; margin-top: 10px; padding: 9px; border: 0; background: transparent; color: #d5e1ec; font-size: 12px; text-decoration: underline; cursor: pointer; }
.olaya-error { min-height: 18px; margin: 7px 0 0 !important; color: #ffd2d2 !important; font-size: 12px; }
.olaya-fatal, .olaya-loading { padding: 70px 24px; text-align: center; }
.olaya-fatal h2 { color: var(--olaya-navy); font: 700 26px Georgia, serif; }

@keyframes olaya-spin { to { transform: rotate(360deg); } }
@keyframes olaya-status-pulse { 50% { opacity: .42; transform: scale(.82); } }
@keyframes olaya-dot { 0%, 60%, 100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
@keyframes olaya-listening { 50% { box-shadow: 0 0 0 5px rgba(173,47,50,.12); } }
@keyframes olaya-result-arrive { from { opacity: .45; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

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

.olaya-access { min-height: 100svh; padding: 28px 18px; background: var(--olaya-navy); display: grid; place-items: center; font-family: Arial, Helvetica, sans-serif; }
.olaya-access-panel { width: 100%; max-width: 390px; padding: 30px 24px; border-radius: 8px; background: #fff; box-shadow: 0 18px 55px rgba(0,0,0,.24); }
.olaya-access-panel > img { display: block; width: 190px; height: auto; margin: 0 auto 25px; }
.olaya-access-title { margin: 0 0 22px; color: var(--olaya-navy); text-align: center; font: 700 22px Georgia, serif; }
.olaya-access-panel label { display: block; margin: 14px 0 6px; color: var(--olaya-ink); font-size: 13px; font-weight: 700; }
.olaya-access-panel input:not([type="checkbox"]) { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--olaya-line); border-radius: 6px; background: #fff; color: var(--olaya-ink); font: 16px Arial, sans-serif; }
.olaya-access-panel .olaya-remember { display: flex; align-items: center; gap: 8px; font-weight: 400; }
.olaya-access-panel button { width: 100%; min-height: 50px; margin-top: 18px; border: 0; border-radius: 6px; background: var(--olaya-blue); color: #fff; font-size: 15px; font-weight: 800; cursor: pointer; }
.olaya-access-help { margin: 18px 0 0; color: var(--olaya-muted); text-align: center; font-size: 12px; }
.olaya-login-error { padding: 10px; border-left: 4px solid var(--olaya-danger); background: #fbe9e9; color: #852528; font-size: 13px; }

@media (max-width: 540px) {
  .olaya-header { align-items: flex-start; }
  .olaya-brand img { width: 112px; }
  .olaya-user { max-width: 130px; }
  .olaya-stats-four { grid-template-columns: repeat(2, 1fr); }
  .olaya-stats div:nth-child(2) { border-right: 0; }
	  .olaya-stats div:nth-child(-n+2) { border-bottom: 1px solid var(--olaya-line); }
	  .olaya-tools { grid-template-columns: 1fr; }
	  .olaya-filters { grid-column: auto; }
  .olaya-client-summary { grid-template-columns: 7px minmax(0,1fr) 18px; gap: 9px; }
  .olaya-client-state { grid-column: 2 / 3; text-align: left; }
  .olaya-state-badges { justify-content: flex-start; }
  .olaya-client-state small { display: inline; margin-left: 5px; }
  .olaya-chevron { grid-column: 3; grid-row: 1 / 3; }
  .olaya-detail-grid { grid-template-columns: 1fr; }
  .olaya-outcomes { grid-template-columns: 1fr; }
  .olaya-quick-actions { grid-template-columns: repeat(2,1fr); }
  .olaya-demand-grid { grid-template-columns: 1fr; }
  .olaya-ai-modal { padding: 0; background: #fff; }
	.olaya-ai-dialog { width: 100%; height: 100svh; min-height: 100svh; max-height: none; border-radius: 0; padding: 0 16px 36px; box-shadow: none; }
	.olaya-ai-close { top: 8px; margin-top: 8px; }
	.olaya-ai-hero { margin: 0 -16px 16px; padding: 20px 66px 20px 16px; display: block; }
  .olaya-ai-hero > span { display: inline-block; margin-top: 13px; }
	.olaya-ai-progress { grid-template-columns: 1fr; gap: 11px; padding: 11px; }
	.olaya-ai-steps > span { padding-left: 18px; font-size: 9px; }
	.olaya-ai-steps i { left: 2px; }
	.olaya-chat-messages { min-height: 210px; max-height: 42vh; padding: 11px; }
	.olaya-chat-message { max-width: 94%; }
	.olaya-chat-message.is-thinking { min-width: min(250px,92%); }
	.olaya-composer-tools > span { display: none; }
	.olaya-matches .olaya-section-heading, .olaya-matches .olaya-product-list, .olaya-matches .olaya-proposal-builder, .olaya-matches .olaya-proposal-ready { margin-left: 11px; margin-right: 11px; }
  .olaya-catalog-filters { grid-template-columns: 1fr; }
  .olaya-catalog-search { grid-column: auto; }
  .olaya-product { grid-template-columns: 112px minmax(0,1fr); }
  .olaya-product > img, .olaya-product-image { width: 112px; }
}
