:root{--ink:#15231f;--muted:#64736e;--line:#dfe7e3;--surface:#ffffff;--surface-soft:#f4f7f5;--brand:#126a4b;--brand-dark:#0b4c37;--brand-pale:#e3f3ec;--warning:#925b08;--warning-bg:#fff5d9;--danger:#a33b35;--shadow:0 18px 50px rgb(20 40 32/10%);color:var(--ink);background:var(--surface-soft);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:.78rem .9rem}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgb(18 106 75/25%);outline-offset:2px}label{display:block;color:#34443f;font-size:.86rem;font-weight:650}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.centered{min-height:100vh;display:grid;place-content:center;text-align:center}.brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px 11px 18px 11px;background:var(--brand);color:white;font-family:Georgia,serif;font-size:1.4rem;font-weight:700}.brand-lockup{display:flex;align-items:center;gap:.7rem;font-weight:850;letter-spacing:.18em}.brand-lockup.compact{font-size:.9rem}.brand-lockup.compact .brand-mark{width:31px;height:31px;font-size:1.1rem}.eyebrow{margin:0 0 .35rem;color:var(--brand);font-size:.73rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.primary-button{width:100%;border:0;border-radius:10px;background:var(--brand);color:white;padding:.8rem 1rem;font-weight:750}.primary-button:hover{background:var(--brand-dark)}.form-error{color:var(--danger);font-size:.84rem}.muted{color:var(--muted);font-size:.85rem}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);background:linear-gradient(135deg,#e9f1ed,#f8faf9 52%,#e0ebe5)}.login-intro{padding:clamp(3rem,8vw,8rem);display:flex;flex-direction:column;justify-content:center}.login-intro h1{max-width:720px;margin:3rem 0 1.3rem;font-family:Georgia,serif;font-size:clamp(2.6rem,6vw,5.5rem);line-height:.98;font-weight:500}.login-intro p{max-width:580px;color:var(--muted);font-size:1.1rem;line-height:1.7}.login-card{align-self:center;width:min(430px,calc(100% - 3rem));margin:2rem auto;padding:2.4rem;border:1px solid rgb(255 255 255/70%);border-radius:22px;background:rgb(255 255 255/90%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-card h2{margin:0 0 2rem;font-family:Georgia,serif;font-size:2rem;font-weight:500}.login-card form{display:grid;grid-gap:.75rem;gap:.75rem}.login-card .primary-button{margin-top:.8rem}.security-note{margin:1.4rem 0 0;color:var(--muted);text-align:center;font-size:.75rem}.workspace{height:100vh;min-height:100vh;overflow:hidden;background:var(--surface-soft)}.topbar{height:68px;display:grid;grid-template-columns:260px auto 1fr auto;align-items:center;grid-gap:1.2rem;gap:1.2rem;padding:0 1.2rem;border-bottom:1px solid var(--line);background:var(--surface)}.workspace-grid{height:calc(100vh - 68px);min-height:0;display:grid;grid-template-columns:280px minmax(390px,1fr) minmax(330px,420px)}.conversation-sidebar{z-index:5;overflow-y:auto;padding:1rem;border-right:1px solid var(--line);background:#f8faf9}.new-conversation{width:100%;display:flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--brand);border-radius:10px;background:var(--brand);color:white;padding:.72rem;font-weight:700}.customer-picker{position:relative;margin-top:1rem}.customer-picker label{margin-bottom:.4rem;font-size:.72rem}.customer-results{position:absolute;z-index:8;width:100%;max-height:260px;overflow:auto;margin:.3rem 0 0;padding:.35rem;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:var(--shadow);list-style:none}.customer-results button{width:100%;border:0;border-radius:8px;background:transparent;padding:.65rem;text-align:left}.customer-results button:hover{background:var(--brand-pale)}.customer-results span,.customer-results strong{display:block}.customer-results span{margin-top:.2rem;color:var(--muted);font-size:.72rem}.nav-label{margin:1.5rem .5rem .55rem;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.conversation-list{margin:0;padding:0;list-style:none}.conversation-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:.3rem;gap:.3rem;margin-bottom:.25rem}.conversation-list .conversation-link{width:100%;border:0;border-radius:9px;background:transparent;padding:.7rem .75rem;text-align:left}.conversation-list .conversation-link:hover,.conversation-list .conversation-link[aria-current=page]{background:var(--brand-pale);color:var(--brand-dark)}.conversation-list .conversation-link small,.conversation-list .conversation-link span,.conversation-summary small,.conversation-summary span{display:block}.conversation-list .conversation-link span,.conversation-summary span{font-weight:680}.conversation-list .conversation-link small,.conversation-summary small{margin-top:.2rem;color:var(--muted);font-size:.7rem}.conversation-action{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);padding:.42rem .48rem;font-size:.65rem}.conversation-action:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.conversation-action:disabled{cursor:wait;opacity:.55}.archived-conversations{margin-top:1.2rem;border-top:1px solid var(--line);padding-top:.75rem}.archived-conversations summary{cursor:pointer;color:var(--muted);font-size:.74rem;font-weight:750}.archived-conversations .conversation-list{margin-top:.6rem}.conversation-summary{min-width:0;padding:.58rem .5rem;color:var(--muted)}.restore-action:hover:not(:disabled){border-color:var(--brand);color:var(--brand-dark)}.sidebar-status{margin:.8rem .25rem 0;color:var(--muted);font-size:.72rem;line-height:1.4}.freshness{justify-self:center;display:flex;align-items:center;gap:.45rem;border-radius:100px;padding:.45rem .8rem;font-size:.76rem}.freshness-ok{background:var(--brand-pale);color:var(--brand-dark)}.freshness-warning{border-radius:8px;background:var(--warning-bg);color:var(--warning)}.freshness-warning span{margin-left:.35rem}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2aa46f}.status-dot-off{background:#9da9a5}.user-menu{display:flex;align-items:center;gap:.8rem}.user-menu div{display:grid;text-align:right}.user-menu strong{font-size:.83rem}.user-menu span{color:var(--muted);font-size:.7rem}.user-menu button{border:1px solid var(--line);border-radius:8px;background:white;padding:.42rem .7rem}.mobile-menu-button{display:none}.chat-panel{min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;background:var(--surface)}.chat-header{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:.9rem 1.3rem;border-bottom:1px solid var(--line)}.chat-header h2{margin:0;font-family:Georgia,serif;font-size:1.25rem;font-weight:500}.connection-status{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.72rem}.message-list{min-height:0;overflow-y:auto;padding:1.4rem clamp(1rem,4vw,3rem)}.empty-chat{max-width:480px;margin:15vh auto 0;text-align:center;color:var(--muted)}.empty-chat>span{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:20px;background:var(--brand-pale);color:var(--brand);font-size:2rem}.empty-chat h3{color:var(--ink);font-family:Georgia,serif;font-size:1.7rem;font-weight:500}.message{width:-moz-fit-content;width:fit-content;max-width:min(680px,88%);margin:.8rem 0;padding:.85rem 1rem;border-radius:6px 16px 16px 16px;background:var(--surface-soft);line-height:1.55}.message-user{margin-left:auto;border-radius:16px 6px 16px 16px;background:var(--brand);color:white}.message-system{border:1px dashed var(--line)}.message>p{margin:0;white-space:pre-wrap}.message-markdown>:first-child{margin-top:0}.message-markdown>:last-child{margin-bottom:0}.message-markdown blockquote,.message-markdown ol,.message-markdown p,.message-markdown pre,.message-markdown ul{margin:0 0 .75rem}.message-markdown ol,.message-markdown ul{padding-left:1.4rem}.message-markdown li+li{margin-top:.25rem}.message-markdown blockquote{padding-left:.8rem;border-left:3px solid var(--line);color:var(--muted)}.message-markdown code{padding:.1rem .3rem;border-radius:4px;background:rgb(0 0 0/7%);font-size:.9em}.message-markdown pre{overflow-x:auto;padding:.7rem;border-radius:6px;background:var(--ink);color:white}.message-markdown pre code{padding:0;background:transparent}.message-markdown a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.16em}.message-markdown table{width:100%;margin-bottom:.75rem;border-collapse:collapse}.message-markdown td,.message-markdown th{padding:.35rem .5rem;border:1px solid var(--line);text-align:left}.message time{color:var(--muted);font-size:.65rem}.message footer{display:flex;align-items:center;gap:.55rem;margin-top:.45rem;font-size:.65rem}.message footer span{opacity:.75}.message footer button{border:0;padding:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.message-user time{color:rgb(255 255 255/70%)}.voice-message{display:grid;min-width:min(330px,70vw);grid-gap:.7rem;gap:.7rem}.voice-message-heading{display:flex;align-items:center;gap:.65rem}.voice-message-heading>div{display:grid}.voice-message-heading strong,.voice-transcription>strong{font-size:.72rem;letter-spacing:.01em}.voice-message-heading span{color:rgb(255 255 255/72%);font-size:.65rem}.voice-message-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:rgb(255 255 255/18%);font-size:.7rem}.voice-message audio{width:100%;height:36px;color-scheme:light}.voice-transcription{padding-top:.65rem;border-top:1px solid rgb(255 255 255/22%)}.voice-transcription p{margin:.2rem 0 0;white-space:pre-wrap;font-size:.82rem;line-height:1.45}.voice-message-failed .voice-message-heading span,.voice-message-failed .voice-transcription p{color:#ffe0dc}.message-streaming{min-width:120px}.typing-cursor{display:inline-block;width:6px;height:1em;margin-left:3px;background:var(--brand);animation:blink 1s infinite;vertical-align:-.1em}@keyframes blink{50%{opacity:0}}.agent-status{color:var(--muted);font-size:.78rem;font-style:italic}.composer{padding:.8rem 1rem 1rem;border-top:1px solid var(--line);background:white}.voice-control{margin-bottom:.65rem;border:1px solid var(--line);border-radius:12px;background:#fbfcfb;padding:.65rem .75rem}.voice-summary{display:flex;align-items:center;gap:.65rem}.voice-summary>div{display:grid;min-width:0;flex:1 1}.voice-summary strong{font-size:.78rem}.voice-summary span{color:var(--muted);font-size:.65rem}.microphone-indicator{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--surface-soft);color:var(--muted)}.microphone-active{background:#fce8e7;color:#c53d34;box-shadow:0 0 0 5px rgb(197 61 52/10%);animation:pulse-mic 1.4s infinite}@keyframes pulse-mic{50%{box-shadow:0 0 0 9px rgb(197 61 52/3%)}}.record-audio,.start-voice,.stop-voice{border:0;border-radius:8px;padding:.45rem .65rem;font-size:.7rem;font-weight:700}.start-voice{background:var(--brand-pale);color:var(--brand-dark)}.stop-voice{background:#fce8e7;color:#9d3029}.record-audio{background:var(--surface-soft);color:var(--brand-dark)}.audio-message{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.6rem;border-top:1px solid var(--line);padding-top:.6rem}.audio-message>div{display:grid;min-width:0;flex:1 1}.audio-message strong{font-size:.73rem}.audio-message span{color:var(--muted);font-size:.65rem}.audio-message .voice-fallback{flex-basis:100%}.live-transcript{max-height:95px;overflow-y:auto;margin-top:.6rem;border-top:1px solid var(--line);padding-top:.4rem}.live-transcript p{margin:.25rem 0;font-size:.73rem;line-height:1.4}.voice-fallback{margin:.5rem 0 0;color:var(--danger);font-size:.7rem}.visual-confirmation-note{margin:.5rem 0 0;color:var(--warning);font-size:.65rem}.composer-row{display:grid;grid-template-columns:auto 1fr auto;align-items:end;grid-gap:.5rem;gap:.5rem;padding:.4rem;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 30px rgb(20 40 32/6%)}.composer textarea{max-height:150px;resize:none;border:0;padding:.6rem .4rem}.composer textarea:focus-visible{outline:0}.icon-button,.send-button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:9px}.icon-button{background:var(--surface-soft);color:var(--ink)}.send-button{background:var(--brand);color:white;font-size:1.2rem}.composer>small{display:block;margin-top:.45rem;color:var(--muted);text-align:center;font-size:.65rem}.attachment-chips{display:flex;gap:.4rem;overflow-x:auto;margin:0 0 .45rem;padding:0;list-style:none}.attachment-chips li{display:flex;align-items:center;gap:.4rem;flex:0 0 auto;border-radius:100px;background:var(--surface-soft);padding:.35rem .4rem .35rem .7rem;font-size:.72rem}.attachment-chips span{color:var(--muted)}.attachment-chips button{border:0;border-radius:50%;background:transparent}.attachment-failed{color:var(--danger)}.evidence-list{margin-top:.65rem;font-size:.75rem}.evidence-list summary{cursor:pointer;color:var(--brand);font-weight:700}.evidence-list ul{display:grid;grid-gap:.35rem;gap:.35rem;margin:.45rem 0 0;padding:0;list-style:none}.evidence-list li{display:grid;grid-template-columns:auto 1fr;grid-gap:.3rem .45rem;gap:.3rem .45rem;align-items:center}.evidence-list a{color:inherit}.evidence-list small{grid-column:2;color:var(--muted)}.trust{border-radius:100px;padding:.12rem .35rem;background:var(--surface-soft);font-size:.6rem}.trust-approved,.trust-authoritative{background:var(--brand-pale);color:var(--brand)}.trust-unverified{background:var(--warning-bg);color:var(--warning)}.quote-panel,.quote-placeholder{overflow-y:auto;border-left:1px solid var(--line);background:#fbfcfb}.quote-panel{padding:1.2rem}.quote-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.quote-heading h2{margin:0;font-family:Georgia,serif;font-size:1.55rem;font-weight:500}.quote-status{border-radius:100px;background:var(--surface-soft);padding:.28rem .55rem;color:var(--muted);font-size:.65rem}.quote-status-confirmed,.quote-status-pdf_generated,.quote-status-validated{background:var(--brand-pale);color:var(--brand)}.inline-warning{border-radius:8px;background:var(--warning-bg);color:var(--warning);padding:.65rem;font-size:.75rem}.quote-lines{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:1rem}.quote-line{border:1px solid var(--line);border-radius:12px;background:white;padding:.85rem}.quote-line-title{display:flex;justify-content:space-between;gap:.8rem}.quote-line-title div{min-width:0}.quote-line-title strong{font-size:.8rem}.quote-line-title div strong,.quote-line-title span{display:block}.quote-line-title span{margin-top:.2rem;color:var(--muted);font-size:.68rem}.quote-line-fields{display:grid;grid-template-columns:90px auto 1fr;align-items:end;grid-gap:.5rem;gap:.5rem;margin-top:.75rem;font-size:.7rem}.quote-line-fields input{margin-top:.25rem;padding:.45rem}.quote-line-fields>span{padding-bottom:.5rem;color:var(--muted)}.quote-line-fields>span:last-child{text-align:right}.line-metadata{display:flex;justify-content:space-between;margin-top:.7rem;color:var(--muted);font-size:.62rem}.quote-totals{display:grid;grid-template-columns:1fr auto;grid-gap:.45rem;gap:.45rem;margin:1rem 0;padding:.9rem 0;border-top:1px solid var(--line);font-size:.8rem}.quote-totals strong{text-align:right}.quote-total,.quote-total-label{margin-top:.35rem;padding-top:.6rem;border-top:1px solid var(--line);font-size:1rem}.save-message{color:var(--brand);font-size:.72rem}.legal-note{color:var(--muted);text-align:center;font-size:.65rem}.no-conversation,.quote-placeholder{display:grid;place-items:center;padding:2rem;text-align:center;color:var(--muted)}.catalog-tabs,.workspace-tabs{display:flex;gap:.25rem}.catalog-tabs button,.workspace-tabs button{border:0;border-radius:8px;background:transparent;color:var(--muted);padding:.5rem .72rem;font-weight:700}.catalog-tabs button.active,.workspace-tabs button.active{background:var(--brand-pale);color:var(--brand-dark)}.catalog-tabs button:disabled{opacity:.45}.catalog-panel{width:min(1120px,calc(100% - 2.5rem));height:calc(100vh - 68px);overflow:auto;margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem) 0}.catalog-header{margin-bottom:1.8rem}.catalog-header h1{margin:0;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:500}.catalog-header p:not(.eyebrow){max-width:590px;color:var(--muted);line-height:1.55}.catalog-header .catalog-updated{margin:.55rem 0 0;color:var(--brand-dark);font-size:.88rem;font-weight:700}.catalog-search{display:block;width:min(590px,100%);margin-top:1.25rem}.catalog-search span{display:block;margin-bottom:.4rem;font-size:.82rem;font-weight:700}.catalog-tabs{border-bottom:1px solid var(--line);margin-bottom:1.2rem}.catalog-tabs button{border-radius:8px 8px 0 0}.catalog-results,.product-detail{border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 8px 30px rgb(20 40 32/5%)}.catalog-results{overflow:hidden}.catalog-results>.muted{padding:1.25rem;margin:0}.product-row{width:100%;display:grid;grid-template-columns:1fr minmax(150px,.28fr);grid-gap:1.5rem;gap:1.5rem;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);padding:1rem 1.2rem;text-align:left}.product-row:last-child{border-bottom:0}.product-row:hover{background:var(--surface-soft)}.product-row small,.product-row span{display:block}.product-row small{margin-top:.24rem;color:var(--muted)}.product-detail{padding:1.6rem}.product-detail-title{display:flex;align-items:start;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line)}.product-detail-title h2{margin:0 0 1.3rem;font-family:Georgia,serif;font-size:1.65rem;font-weight:500}.product-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0;gap:0;margin:1rem 0 0}.product-detail dl div{padding:1rem 0;border-bottom:1px solid var(--line)}.product-detail dt{color:var(--muted);font-size:.78rem;font-weight:700}.product-detail dd{margin:.25rem 0 0}.product-active,.product-inactive{border-radius:999px;padding:.3rem .55rem;font-size:.8rem;font-weight:700}.product-active{background:var(--brand-pale);color:var(--brand-dark)}.product-inactive{background:#fbe9e8;color:var(--danger)}.customer-directory-link{width:100%;margin:.75rem 0;padding:.65rem;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink);text-align:left}.customer-dashboard{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(420px,1.3fr);grid-gap:1.5rem;gap:1.5rem;padding:1.5rem;overflow:auto;background:white}.customer-directory{border-right:1px solid var(--line);padding-right:1rem}.customer-detail h2,.customer-directory h1{margin-top:.2rem;font-family:Georgia,serif;font-weight:500}.customer-directory input{width:100%;margin:.4rem 0}.directory-results,.record-list{padding:0;list-style:none}.directory-results button{width:100%;padding:.7rem;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.directory-results button.selected{background:var(--surface-soft)}.directory-results span,.directory-results strong,.record-list span,.record-list strong{display:block}.directory-results span,.record-list span{margin-top:.18rem;color:var(--muted);font-size:.78rem}.customer-tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--line)}.customer-tabs button{border:0;border-bottom:2px solid transparent;padding:.7rem .9rem;background:transparent}.customer-tabs button[aria-selected=true]{border-color:var(--brand);color:var(--brand)}.customer-tab-content{padding:1rem 0}.customer-analysis{margin-top:1rem;padding:1rem;border-radius:8px;background:var(--surface-soft);white-space:pre-line}.record-list li{display:grid;grid-gap:.15rem;gap:.15rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.quote-placeholder span{display:inline-grid;place-items:center;width:50px;height:50px;border-radius:16px;background:var(--surface-soft);color:var(--brand);font-size:1.5rem}.no-conversation h1,.quote-placeholder h2{color:var(--ink);font-family:Georgia,serif;font-weight:500}.no-conversation{background:white}.no-conversation div{max-width:450px}@media (max-width:1120px){.workspace-grid{grid-template-columns:260px minmax(390px,1fr)}.quote-panel,.quote-placeholder{position:fixed;z-index:10;right:0;top:68px;bottom:0;width:min(420px,92vw);box-shadow:var(--shadow)}.freshness span:not(.status-dot),.quote-placeholder{display:none}}@media (max-width:760px){.customer-dashboard{grid-template-columns:1fr;padding:1rem}.customer-directory{border-right:0;border-bottom:1px solid var(--line);padding-right:0}.login-page{grid-template-columns:1fr}.login-intro{min-height:42vh;padding:2rem}.login-intro h1{margin:2rem 0 1rem;font-size:2.6rem}.login-card{margin-top:-2rem}.topbar{grid-template-columns:auto 1fr auto;height:60px}.topbar .freshness{position:fixed;z-index:7;top:60px;left:0;right:0;border-radius:0;justify-content:center}.user-menu div{display:none}.mobile-menu-button{display:block;border:0;background:transparent;font-size:1.2rem}.workspace-grid{height:calc(100vh - 60px);grid-template-columns:1fr}.conversation-sidebar{position:fixed;z-index:12;inset:60px auto 0 0;width:min(310px,88vw);transform:translateX(-105%);transition:transform .2s ease;box-shadow:var(--shadow)}.conversation-sidebar.sidebar-open{transform:translateX(0)}.chat-panel{padding-top:34px}.chat-header{padding:.7rem 1rem}.message-list{padding:1rem}.quote-panel{top:60px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}