/* Briefing conversation with Florence. White cards on white, neutral client bubbles, burgundy accents. */
.focus-intake .chat-step{max-width:720px;margin:0 auto;display:flex;flex-direction:column;padding:12px 0 70px}
.focus-intake .chat-step>.stepper{align-self:center;margin-bottom:clamp(18px,3vh,30px)}
.focus-intake .chat-heading{text-align:center;margin-bottom:clamp(22px,3.5vh,34px);animation:focus-rise 800ms 200ms cubic-bezier(.16,1,.3,1) both}
.focus-intake .chat-heading h1{font-size:clamp(34px,4vw,48px);line-height:1.05;margin:10px 0 10px}
.chat-heading p{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 12px;margin:0 auto;max-width:540px;font-size:12px;color:var(--ink)}

.chat-thread{display:flex;flex-direction:column;gap:14px}
.chat-message{display:flex;align-items:flex-start;gap:12px;min-width:0}
.chat-bubble{min-width:0}
.chat-bubble p{margin:0;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.from-florence .chat-bubble{max-width:min(560px,100%);padding:13px 18px;background:#fff;border:1px solid var(--ds-panel-border,#e4e4e4);border-radius:6px 20px 20px 20px;box-shadow:var(--ds-panel-shadow)}
.from-client{justify-content:flex-end}
.from-client .chat-bubble{max-width:min(470px,86%);padding:11px 16px;background:#f3f3f3;border:1px solid #ebebeb;border-radius:20px 20px 6px 20px}
.chat-avatar{flex-shrink:0;display:grid;place-items:center;width:32px;height:32px;margin-top:2px;border-radius:50%;
 background:radial-gradient(circle at 28% 30%,rgba(114,239,221,.6),transparent 56%),radial-gradient(circle at 76% 32%,rgba(255,124,124,.5),transparent 56%),radial-gradient(circle at 52% 82%,rgba(168,130,221,.6),transparent 60%),radial-gradient(circle at 22% 78%,rgba(255,209,102,.55),transparent 54%),#fff;
 box-shadow:0 0 0 1px #2424240f,0 4px 12px #2424240d}
.chat-avatar span{font-size:12px;font-weight:700;line-height:1;color:#401722}

.chat-facts{display:grid;gap:7px;margin:11px 0 2px;padding-top:11px;border-top:1px solid #efefef}
.chat-facts div{display:grid;grid-template-columns:118px minmax(0,1fr);gap:12px;font-size:12px;line-height:1.5}
.chat-facts dt{padding-top:2px;font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.chat-facts dd{margin:0;overflow-wrap:anywhere}
.chat-files{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.chat-files .file-chip{background:#fff}
.chat-bubble p+.chat-files{margin-top:8px}
.chat-status{display:flex;align-items:center;gap:9px;margin:0 0 0 44px;font-size:11px;color:var(--muted)}
.chat-status-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#79546b}

.arriving{animation:chat-arrive 460ms var(--arrive,0ms) cubic-bezier(.16,1,.3,1) both}
.chat-status.arriving .chat-status-dot{animation:chat-pulse 900ms var(--arrive,0ms) ease-in-out 2}
@keyframes chat-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes chat-pulse{50%{transform:scale(1.8);opacity:.45}}

.chat-active{margin-top:26px}
.chat-quick{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.chat-composer{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 20px;background:#fff;border:1px solid var(--ds-panel-border,#e4e4e4);border-radius:999px;box-shadow:var(--ds-panel-shadow);transition:border-color .2s}
.chat-quick+.chat-composer,.chat-composer+.chat-quick{margin-top:12px}
.chat-composer:focus-within{border-color:#79546b80}
.chat-composer input{flex:1;min-width:0;height:auto;padding:10px 0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;font-size:13px;outline:none}
.chat-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:12px}
.chat-actions-end{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.chat-done{flex-direction:column;gap:14px;margin-top:0}

.chat-dates{padding:16px;background:#fff;border:1px solid var(--ds-panel-border,#e4e4e4);border-radius:20px;box-shadow:var(--ds-panel-shadow)}
.chat-date-row{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:8px;margin-bottom:8px}
.chat-date-row label{display:block;min-width:0}
.chat-date-row input{width:100%}
.chat-dates .chat-actions{justify-content:flex-start;margin-top:4px}
.chat-dates .error{margin:4px 0 0}
.chat-dates .error:empty{display:none}

.focus-intake .chat-upload{max-width:none;margin:0 auto}
.chat-upload-hint{margin:0;text-align:center;font-size:12px;color:var(--muted)}
.focus-intake .chat-upload .orb-wrap{padding:16px 0 12px}
.focus-intake .chat-upload .orb-drop{--orb-size:clamp(200px,28vh,280px)}

/* Conversation summary on the brief. */
.briefing-waiting{display:flex;align-items:center;gap:9px;margin:14px 0 0;padding:10px 14px;background:#f7f7f7;border:1px solid var(--ds-panel-border,#e4e4e4);border-radius:14px;font-size:12px}
.briefing-waiting svg{width:15px;height:15px;flex-shrink:0}
.briefing-details{display:grid;gap:10px;margin:16px 0 0}
.briefing-details div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;font-size:12px;line-height:1.55}
.briefing-details dt{color:var(--muted)}
.briefing-details dd{margin:0;overflow-wrap:anywhere}

@media(max-width:500px){
 .focus-intake .chat-heading h1{font-size:34px}
 .chat-message{gap:9px}
 .chat-avatar{width:26px;height:26px}
 .chat-avatar span{font-size:10px}
 .from-florence .chat-bubble{padding:12px 14px}
 .chat-status{margin-left:35px}
 .chat-facts div,.briefing-details div{grid-template-columns:1fr;gap:1px}
 .chat-date-row{grid-template-columns:1fr}
 .chat-date-row+.chat-date-row{padding-top:10px;border-top:1px solid #efefef}
 .chat-actions-end{width:100%;margin-left:0}
 .chat-actions-end .btn{flex:1;justify-content:center}
 .chat-tiers .btn{flex:1 1 100%;justify-content:center}
 .focus-intake .chat-upload .orb-drop{--orb-size:min(58vw,240px)}
}
/* Replies re-render the page: keep the heading, stepper and orb steady. */
.chat-step.settled>.stepper,.chat-step.settled .chat-heading{animation:none}
@media(prefers-reduced-motion:reduce){.arriving,.chat-status.arriving .chat-status-dot,.focus-intake .chat-heading{animation:none}}
