/* Sage chat history: near-black rail, cream serif titles, restrained gold. */
#coach-conversation{--sg-ink:#efe8d6;--sg-dim:#a39d8f;--sg-gold:#c9a955;--sg-line:rgba(239,232,214,.09);--sg-rail:#0c0d10;background:#0e0f12;}
#coach-conversation .coach-conversation-meta{font:500 9px var(--mono,'DM Mono',monospace);letter-spacing:.16em;text-transform:uppercase;color:var(--sg-gold)}
#coach-conversation .coach-conversation-title{font:400 22px/1.1 'Instrument Serif',Georgia,serif;color:var(--sg-ink);letter-spacing:-.01em}
.coach-conversation-head-copy{min-width:0;flex:1}
.sage-thread-title{color:var(--sg-dim);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sage-thread-title:empty{display:none}
.sage-history-toggle,.sage-new-chat-head{display:grid;place-items:center;min-width:32px;min-height:32px;color:var(--sg-dim)}
.sage-history-toggle[aria-expanded="true"]{color:var(--sg-gold)}
#coach-conversation{position:fixed}
/* Long identifiers and URLs must wrap within the reading lane, not merely
   remain inside a horizontally scrolling transcript. Preserve preformatted
   content with its own bounded scroll region. */
#coach-conversation .coach-message{min-width:0;overflow-wrap:anywhere}
#coach-conversation .coach-message pre{max-width:100%;overflow-x:auto}
.sage-history{position:absolute;z-index:6;top:0;bottom:0;left:0;width:min(272px,86%);display:flex;flex-direction:column;gap:8px;padding:14px 10px;background:var(--sg-rail);border-right:1px solid var(--sg-line);box-shadow:18px 0 40px rgba(0,0,0,.45);animation:sageRailIn 180ms cubic-bezier(.23,1,.32,1) both}
.sage-history[hidden]{display:none}
.sage-history-scrim{position:absolute;inset:0;z-index:5;background:rgba(5,5,7,.55)}
.sage-history-scrim[hidden]{display:none}
#coach-conversation.sage-history-docked{padding-left:272px}
#coach-conversation.sage-history-docked .sage-history{width:272px;box-shadow:none}
.sage-history-head{display:flex;align-items:center;justify-content:space-between;padding:2px 6px 6px}
.sage-history-head strong{font:400 18px 'Instrument Serif',Georgia,serif;color:var(--sg-ink)}
.sage-new-chat{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid rgba(201,169,85,.35);border-radius:10px;background:rgba(201,169,85,.06);color:var(--sg-ink);font:600 12px var(--body,'Plus Jakarta Sans',sans-serif);cursor:pointer}
.sage-new-chat::before{content:'+';color:var(--sg-gold);font-size:15px;line-height:1}
.sage-new-chat:hover{background:rgba(201,169,85,.12)}
.sage-history-list{flex:1;overflow-y:auto;min-height:0;padding-right:2px}
.sage-history-list ul{list-style:none;margin:0;padding:0}
.sage-history-group{margin:14px 8px 4px;font:500 9px var(--mono,'DM Mono',monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--sg-dim)}
.sage-history-item{display:block;width:100%;min-height:36px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:#cfc8b6;font:500 12px/1.35 var(--body,'Plus Jakarta Sans',sans-serif);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;position:relative}
.sage-history-item:hover{background:rgba(239,232,214,.05);color:var(--sg-ink)}
.sage-history-item[aria-current="true"]{background:rgba(201,169,85,.11);color:var(--sg-ink)}
.sage-history-item[aria-current="true"]::before{content:'';position:absolute;left:0;top:9px;bottom:9px;width:2px;border-radius:2px;background:var(--sg-gold)}
.sage-history-empty{padding:14px 8px;color:var(--sg-dim);font-size:12px;line-height:1.5}
.sage-history-status{font-size:11px;color:var(--sg-dim);padding:0 8px;min-height:0}
.sage-history-status:empty{display:none}
.sage-history-more,.sage-older-messages{align-self:center;min-height:34px;padding:0 14px;border:1px solid var(--sg-line);border-radius:999px;background:transparent;color:var(--sg-gold);font:600 11px var(--body,'Plus Jakarta Sans',sans-serif);cursor:pointer}
.sage-history-more[hidden],.sage-older-messages[hidden],.sage-attached-call[hidden]{display:none}
.sage-older-messages{display:block;margin:8px auto 0}
.sage-history-skeleton,.sage-transcript-skeleton{height:30px;margin:8px 6px;border-radius:8px;background:linear-gradient(90deg,rgba(239,232,214,.04),rgba(239,232,214,.09),rgba(239,232,214,.04));background-size:200% 100%;animation:sageShimmer 1.2s linear infinite}
.sage-transcript-skeleton{height:120px;margin:16px}
.sage-attached-call{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;padding:6px 6px 6px 12px;border:1px solid rgba(201,169,85,.3);border-radius:999px;background:rgba(201,169,85,.07);color:var(--sg-ink);font-size:11px}
.sage-attached-call span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sage-attached-call button{min-height:28px;padding:0 10px;border:0;border-radius:999px;background:rgba(239,232,214,.07);color:var(--sg-gold);font:600 10px var(--body,'Plus Jakarta Sans',sans-serif);cursor:pointer}
#coach-conversation .coach-composer textarea{background:#17181c;border-color:var(--sg-line);color:var(--sg-ink)}
#coach-conversation :is(.sage-history-item,.sage-new-chat,.sage-history-more,.sage-older-messages,.sage-attached-call button,.sage-history-toggle,.sage-new-chat-head):focus-visible{outline:2px solid var(--sg-gold);outline-offset:2px}
@keyframes sageRailIn{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
@keyframes sageShimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.sage-history,.sage-history-skeleton,.sage-transcript-skeleton{animation:none}}
@media(max-width:700px){.sage-history{width:min(300px,88%)}.sage-history-item,.sage-new-chat{min-height:44px}}

/* ── Sage home: reference landing ─────────────────────────────── */
#sales-coach-workspace:has(#sage-landing:not([hidden])) .sales-coach-mast{display:none}
.sage-landing{--sl-bg:#0b0b0d;--sl-card:#141417;--sl-card2:#18181c;--sl-ink:#efe6d2;--sl-dim:#9d978a;--sl-faint:#6f6a60;--sl-gold:#d1b06b;--sl-gold2:#e2c48a;--sl-line:rgba(239,230,210,.1);position:relative;display:grid;grid-template-columns:minmax(0,1fr);margin:-8px -8px 28px;padding:22px 30px 34px;border-radius:18px;background:radial-gradient(ellipse 60% 40% at 50% 8%,rgba(209,176,107,.07),transparent 70%),var(--sl-bg);color:var(--sl-ink);overflow:hidden;isolation:isolate}
.sage-landing[hidden]{display:none}
.sage-landing::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}
.sage-landing.sage-history-docked{grid-template-columns:260px minmax(0,1fr);column-gap:26px}
.sage-landing-rail{position:relative}
.sage-landing .sage-history{border-radius:14px}
.sage-landing.sage-history-docked .sage-history{position:sticky;top:0;width:auto;max-height:calc(100dvh - 140px);box-shadow:none;border:1px solid var(--sl-line);animation:none}
.sage-landing:not(.sage-history-docked) .sage-landing-rail{position:absolute;inset:0;pointer-events:none;z-index:20}
.sage-landing:not(.sage-history-docked) .sage-landing-rail>*{pointer-events:auto}
.sage-landing:not(.sage-history-docked) .sage-history{position:absolute;top:0;bottom:0;left:0;width:min(300px,86%);border-radius:0 14px 14px 0}
.sage-landing .sage-history-scrim{position:absolute;inset:0}
.sage-landing-main{min-width:0}
.sage-landing-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.sage-landing-eyebrow{font:500 10px var(--mono,'DM Mono',monospace);letter-spacing:.2em;text-transform:uppercase;color:var(--sl-gold)}
.sage-landing-wordmark{margin-top:2px;font:400 46px/1 'Instrument Serif',Georgia,serif;letter-spacing:-.02em;color:var(--sl-ink)}
.sage-landing-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.sage-landing-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid var(--sl-line);border-radius:9px;background:rgba(239,230,210,.03);color:var(--sl-ink);font:500 12px var(--body,'Plus Jakarta Sans',sans-serif);cursor:pointer;transition:background-color .15s,border-color .15s}
.sage-landing-btn:hover{border-color:rgba(209,176,107,.4);background:rgba(209,176,107,.06)}
.sage-landing-btn-gold{border-color:transparent;background:linear-gradient(180deg,var(--sl-gold2),var(--sl-gold));color:#1d170b;font-weight:600}
.sage-landing-btn-gold:hover{background:linear-gradient(180deg,#ead1a0,#d8b979)}
.sage-landing-btn[aria-expanded="true"]{border-color:rgba(209,176,107,.55);color:var(--sl-gold2)}
.sage-landing-home{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:6px}
.sage-landing-home[hidden],.sage-landing-chat[hidden]{display:none}
.sage-landing-star{color:var(--sl-gold);margin:4px 0 14px;animation:sageStar 4.5s ease-in-out infinite}
.sage-landing-heading{margin:0;font:400 clamp(32px,4.4vw,50px)/1.08 'Instrument Serif',Georgia,serif;letter-spacing:-.015em;color:var(--sl-ink)}
.sage-landing-sub{margin:12px 0 26px;color:var(--sl-dim);font-size:15px}
.sage-landing-composer{position:relative;width:min(640px,100%);padding:16px 16px 12px;border:1px solid rgba(239,230,210,.14);border-radius:16px;background:linear-gradient(180deg,#19191d,#141417);box-shadow:0 20px 50px rgba(0,0,0,.35);text-align:left;transition:border-color .15s}
.sage-landing-composer:focus-within{border-color:rgba(209,176,107,.45)}
.sage-landing-composer textarea{display:block;width:100%;min-height:46px;max-height:200px;resize:vertical;border:0;outline:0;background:transparent;color:var(--sl-ink);font:400 14px/1.55 var(--body,'Plus Jakarta Sans',sans-serif)}
.sage-landing-composer textarea::placeholder{color:var(--sl-faint)}
.sage-landing-attached{margin:8px 0 0;max-width:100%}
.sage-landing-tools{display:flex;align-items:center;gap:6px;margin-top:8px}
.sage-landing-tool{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--sl-ink);font:500 12px var(--body,'Plus Jakarta Sans',sans-serif);cursor:pointer}
.sage-landing-tool svg{color:var(--sl-dim)}
.sage-landing-tool:hover{background:rgba(239,230,210,.05)}
.sage-landing-mic{min-width:36px;justify-content:center;padding:0}
.sage-landing-mic[aria-pressed="true"]{color:var(--sl-gold2);background:rgba(209,176,107,.12)}
.sage-landing-mic[aria-pressed="true"] svg{color:var(--sl-gold2)}
.sage-landing-divider{width:1px;height:18px;background:var(--sl-line)}
.sage-landing-divider[hidden],.sage-landing-mic[hidden]{display:none}
.sage-landing-send{margin-left:auto;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:linear-gradient(180deg,var(--sl-gold2),var(--sl-gold));color:#1d170b;cursor:pointer;transition:transform .15s}
.sage-landing-send:hover{transform:translateX(1px)}
.sage-landing-attach-wrap{position:relative}
.sage-call-picker{position:absolute;z-index:30;left:0;top:calc(100% + 8px);width:min(340px,80vw);padding:8px;border:1px solid var(--sl-line);border-radius:12px;background:#17171b;box-shadow:0 18px 44px rgba(0,0,0,.5)}
.sage-call-picker[hidden]{display:none}
.sage-call-picker-head{padding:6px 8px 8px;font:500 9px var(--mono,'DM Mono',monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--sl-dim)}
.sage-call-picker ul{list-style:none;margin:0;padding:0;max-height:260px;overflow:auto}
.sage-call-picker li button{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:44px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--sl-ink);text-align:left;font:500 12px var(--body,'Plus Jakarta Sans',sans-serif);cursor:pointer}
.sage-call-picker li button small{color:var(--sl-dim);font-size:11px;margin-top:2px}
.sage-call-picker li button:hover,.sage-call-picker li button:focus-visible{background:rgba(209,176,107,.1)}
.sage-call-picker-status{padding:4px 8px;color:var(--sl-dim);font-size:11px}
.sage-call-picker-status:empty{display:none}
.sage-landing-status{min-height:20px;margin-top:10px;color:var(--sl-dim);font-size:12px}
.sage-landing-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}
.sage-landing-pills button{min-height:40px;padding:0 18px;border:1px solid rgba(239,230,210,.16);border-radius:999px;background:rgba(239,230,210,.025);color:var(--sl-ink);font:500 12px var(--body,'Plus Jakarta Sans',sans-serif);cursor:pointer;transition:border-color .15s,background-color .15s}
.sage-landing-pills button:hover{border-color:rgba(209,176,107,.5);background:rgba(209,176,107,.06)}
.sage-intel{width:100%;margin-top:36px;padding-top:24px;border-top:1px solid var(--sl-line);text-align:left}
.sage-intel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.sage-intel-head h2{margin:0;font:400 26px/1.1 'Instrument Serif',Georgia,serif;color:var(--sl-ink)}
.sage-intel-all{display:inline-flex;align-items:center;gap:6px;min-height:36px;border:0;background:transparent;color:var(--sl-gold2);font:500 13px var(--body,'Plus Jakarta Sans',sans-serif);cursor:pointer}
.sage-intel-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sage-intel-card{display:flex;flex-direction:column;min-height:196px;padding:18px 18px 14px;border:1px solid var(--sl-line);border-radius:12px;background:var(--sl-card);transition:border-color .2s,transform .2s}
.sage-intel-card:hover{border-color:rgba(209,176,107,.3);transform:translateY(-2px)}
.sage-intel-card.is-skeleton{background:linear-gradient(90deg,var(--sl-card),var(--sl-card2),var(--sl-card));background-size:200% 100%;animation:sageShimmer 1.4s linear infinite}
.sage-intel-card-top{display:flex;justify-content:space-between;gap:12px}
.sage-intel-when{color:var(--sl-dim);font-size:11px}
.sage-intel-card h3{margin:6px 0 0;font:400 23px/1.15 'Instrument Serif',Georgia,serif;color:var(--sl-ink)}
.sage-intel-score{position:relative;flex:none;display:grid;justify-items:center;width:64px}
.sage-intel-score svg{width:44px;height:44px;transform:rotate(-90deg)}
.sage-intel-score .track{fill:none;stroke:rgba(239,230,210,.1);stroke-width:2.5}
.sage-intel-score .arc{fill:none;stroke:var(--sl-gold);stroke-width:2.5;stroke-linecap:round}
.sage-intel-score strong{position:absolute;top:0;height:44px;display:grid;place-items:center;font:400 19px 'Instrument Serif',Georgia,serif;color:var(--sl-ink)}
.sage-intel-score span{margin-top:3px;font:500 8px var(--mono,'DM Mono',monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--sl-dim);white-space:nowrap}
.sage-intel-score.is-pending{align-self:flex-start;width:auto;padding:4px 8px;border:1px solid var(--sl-line);border-radius:999px}
.sage-intel-score.is-pending span{margin:0}
.sage-intel-insight{display:flex;gap:10px;flex:1;margin:14px 0 12px;color:#c9c2b2;font-size:12.5px;line-height:1.55}
.sage-intel-insight svg{flex:none;margin-top:2px;color:var(--sl-gold)}
.sage-intel-review{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:10px 0 0;border:0;border-top:1px solid var(--sl-line);width:100%;background:transparent;color:var(--sl-gold2);font:500 12px var(--body,'Plus Jakarta Sans',sans-serif);cursor:pointer}
.sage-intel-empty{grid-column:1/-1;padding:28px;border:1px dashed var(--sl-line);border-radius:12px;color:var(--sl-dim);font-size:13px;text-align:center}
.sage-intel-empty strong{display:block;color:var(--sl-ink);margin-bottom:4px}
.sage-intel-empty .sage-landing-btn{margin-top:12px}
.sage-landing-more-title{width:100%;margin:40px 0 0;padding-top:18px;border-top:1px solid var(--sl-line);text-align:left;font:500 10px var(--mono,'DM Mono',monospace);letter-spacing:.16em;text-transform:uppercase;color:var(--sl-faint)}
#sales-coach-workspace[data-sage-mode="chat"] #coach-view-today,#sales-coach-workspace[data-sage-mode="chat"] #sage-home-attention,#sales-coach-workspace[data-sage-mode="chat"] .sage-editorial-notice{display:none!important}
.sage-landing :is(button,textarea):focus-visible{outline:2px solid var(--sl-gold);outline-offset:3px}
.sage-landing-composer textarea:focus-visible{outline:0}
/* Active chat: the existing conversation panel, mounted inline. */
.sage-landing-chat{margin-top:18px}
#coach-conversation[data-presentation="landing"]{position:relative;inset:auto;z-index:auto;width:100%;max-width:880px;height:min(760px,calc(100dvh - 210px));min-height:440px;margin:0 auto;border-color:var(--sl-line);border-radius:16px;box-shadow:none;display:flex;flex-direction:column}
#coach-conversation[data-presentation="landing"] .coach-conversation-body{flex:1;min-height:0}
/* Expanded Sage chat (container = #sales-coach-workspace): the inline panel uses the
   workspace; the transcript keeps a centred ~960px lane and messages keep a
   72ch reading measure. Overlay/phone presentations are not affected. */
@container (min-width:1180px){
  #coach-conversation[data-presentation="landing"]{max-width:none}
  #coach-conversation[data-presentation="landing"] .coach-transcript{padding-inline:max(clamp(14px,3vw,28px),calc((100% - 960px)/2))}
  #coach-conversation[data-presentation="landing"] .coach-message{max-width:min(88%,72ch)}
  .sage-landing .sage-intel-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
}
#coach-conversation[data-presentation="landing"] #coach-conversation-toggle,#coach-conversation[data-presentation="landing"] .coach-orbit,#coach-conversation[data-presentation="landing"] #sage-history-toggle,#coach-conversation[data-presentation="landing"] .coach-conversation-meta,#coach-conversation[data-presentation="landing"] .coach-conversation-title{display:none}
#coach-conversation[data-presentation="landing"] .sage-thread-title{font:400 20px 'Instrument Serif',Georgia,serif;color:var(--sl-ink)}
@keyframes sageStar{0%,100%{opacity:.75;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){.sage-landing-star,.sage-intel-card.is-skeleton{animation:none}.sage-intel-card:hover{transform:none}}
@media(max-width:980px){.sage-intel-cards{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
  .sage-landing{margin:0 0 20px;padding:16px 14px 24px;border-radius:14px}
  .sage-landing-wordmark{font-size:36px}
  .sage-landing-btn{min-height:44px;padding:0 12px}
  .sage-landing-sub{font-size:13px;margin-bottom:18px}
  .sage-intel-cards{grid-template-columns:1fr}
  .sage-landing-pills button,.sage-landing-tool{min-height:44px}
  #coach-conversation[data-presentation="landing"]{height:calc(var(--sage-viewport-height,100dvh) - 150px);min-height:360px}
}

/* Persistent desktop chat rail on the Sage home and inline chat. */
.sage-landing.sage-history-persistent #sage-landing-history,.sage-landing.sage-history-persistent #sage-history-close,.sage-landing.sage-history-persistent .sage-history-scrim{display:none}
.sage-landing.sage-history-persistent .sage-history{animation:none}
.sage-landing.sage-history-persistent.sage-history-docked{grid-template-columns:232px minmax(0,1fr);column-gap:20px}

/* ── Overlay pop-out: Sage header, transcript, composer only ─────────────
   Scoped to data-presentation="overlay". Hidden nodes stay in the DOM so their
   IDs, handlers, and context/memory/wallet state are untouched. Phone sizing
   (visualViewport --sage-* vars in _dark-theme.css / sage-mobile.css) is kept:
   we only fix the internal flex layout there. */
#coach-conversation[data-presentation="overlay"].open{display:flex;flex-direction:column;overflow:hidden}
body:not(.phone-experience) #coach-conversation[data-presentation="overlay"].open{max-height:calc(100dvh - 48px)}
#coach-conversation[data-presentation="overlay"] .coach-conversation-head{flex:0 0 auto;min-height:0}
#coach-conversation[data-presentation="overlay"] .sage-thread-title{display:none!important}
#coach-conversation[data-presentation="overlay"] .coach-conversation-body{flex:1 1 auto;height:auto;min-height:0;overflow:hidden}
#coach-conversation[data-presentation="overlay"] :is(.sage-context-bar,.sage-memory,.coach-lite-card){display:none!important}
#coach-conversation[data-presentation="overlay"] .coach-transcript{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
#coach-conversation[data-presentation="overlay"] :is(.sage-text-review,.sage-older-messages,.coach-suggestions){flex:0 0 auto}
#coach-conversation[data-presentation="overlay"] .coach-composer{position:relative;flex:0 0 auto}

/* ── Sage cleanup: context/memory/profile hidden everywhere; wallet only on
   explicit opens; older home blocks removed. Nodes stay in the DOM so state,
   IDs and handlers are untouched. ─────────────────────────────────────── */
#coach-conversation :is(.sage-context-bar,.sage-memory),#mobile-sage-profile{display:none!important}
#coach-lite-card:not([data-wallet-explicit]){display:none!important}
#sales-coach-workspace :is(#coach-view-today,#sage-home-attention),.sage-landing-more-title{display:none!important}
