/* Harris reference palette: charcoal panels, warm gold, restrained circuit accents. */
:root{color-scheme:dark;--ink:#e4e1db;--muted:#aaa9a4;--line:#353d46;--accent:#c99550;--accent-dark:#e1af65;--surface:#141a20}
@font-face{font-family:Vazirmatn;src:url('/fonts/Vazirmatn-Variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
body{font-family:Vazirmatn,Tahoma,sans-serif;font-size:14px}
.bubble{line-height:1.7;text-align:start;unicode-bidi:plaintext}
.intro-bubble{line-height:1.75;padding:16px 22px}
.welcome p{line-height:1.75}
.language-control{display:flex;align-items:center;gap:5px;color:#d8bd92;flex-shrink:0}
.language-control select{font:inherit;font-size:12px;color:inherit;background:#171e25;border:1px solid #554833;border-radius:8px;padding:7px 8px;max-width:100px}
.install-app{border:1px solid #79603b;color:#e0bd85;border-radius:10px;padding:9px;margin-bottom:12px;font-size:12px;width:100%}
html[dir=ltr] .sidebar{border-left:0;border-right:1px solid var(--line)}
html[dir=ltr] nav button,html[dir=ltr] .identity-box button{text-align:left}
html[dir=ltr] .bubble{border-radius:15px 4px 15px 15px}
html[dir=ltr] .pending{margin:0 0 16px 47px}
html[dir=ltr] .dot{margin-left:0;margin-right:7px}
html[dir=ltr] .customer-policy{text-align:left}
@media(max-width:720px){.language-control{order:2;margin-inline-start:auto}.language-control select{max-width:86px}.header-title{flex-basis:calc(100% - 105px)}header #archive{order:3;margin-inline-start:auto}.header-details{order:4}.install-app{font-size:10px;padding:7px 2px}.intro-bubble{padding:13px;line-height:1.7}}
body{background:#0c0f12}
.sidebar{background:radial-gradient(ellipse at 100% 0%,#c995500d,transparent 65%),#10151b;border-color:var(--line)}
.brand small{color:#b9a486}
.primary{background:linear-gradient(110deg,#c99550,#b8803e);color:#17120c;box-shadow:0 5px 18px #0003}
.primary:hover:not(:disabled){background:linear-gradient(110deg,#e4b871,#c99550);box-shadow:0 5px 22px #c995501c}
.side-caption span{background:#22272d;color:#d8bd92}
nav button:hover:not(:disabled){background:#1b222a}
nav button.active{background:#c9955015;border-color:#886637;color:#f0c88c}
.side-bottom{color:#c9b08b}
.dot{background:#d4aa65;box-shadow:0 0 0 3px #d4aa6512}
main{background:radial-gradient(ellipse at 3% 15%,#b8874310,transparent 40%),linear-gradient(135deg,#0d1115,#11171c)}
header{background:#10151bcc}
.version{background:#1b232a;border-color:#404248;color:#c5b292}
.context{background:#141b22cc;border-color:var(--line)}
#context-id{color:#d7bd92}
.context-tags span{background:#24292f;color:#cbc1b2}
#role-badge{color:#e2be84;background:#c995501b}
#chat{scrollbar-color:#5a4a37 transparent}
.welcome-icon{border-color:#8d6a37;background:linear-gradient(145deg,#202326,#15191c);box-shadow:0 0 38px #c9955018}
.features div{background:#141b22d9;box-shadow:0 5px 20px #0002}
#composer{border-color:#40454b;box-shadow:0 8px 30px #0002}
#composer:focus-within{border-color:#c99550;box-shadow:0 0 0 3px #c9955012,0 8px 30px #0002}
#composer.is-busy{background:#171b1e;border-color:#76603c}
textarea::placeholder{color:#9b9c98}
.tools{color:#babbb6}
.avatar{background:#c995501c;color:#e4bd7c;border:1px solid #c995502b}
.assistant-avatar{overflow:hidden;border-radius:50%;padding:0;background:#18212a;flex-shrink:0}
.assistant-avatar img{display:block;width:100%;height:100%;object-fit:contain}
.user .avatar{background:#30363c;color:#d5d2cb;border-color:#48515a}
.bubble{background:#151c23;border-color:#353d46;box-shadow:0 4px 16px #0001}
.user .bubble{background:#24211d;border-color:#6a5132}
.message-actions{color:#bdb5a7}
.type{background:#263d32;color:#bfdcc8}
.type.needs_information{background:#44331c;color:#f0ce97}
.type.escalation_ready{background:#253d32;color:#b8dec7}
.type.restricted{background:#392e3f;color:#d4bddf}
.escalate{border-color:#65987a;color:#c0ddcc}
.pending{background:#29251e;border-color:#6a5132}
.pending::before{border-color:#6a5132;border-top-color:var(--accent)}
.pending.error{background:#3a2220;border-color:#805047}
.attachment{background:#1b2229;border-color:#484b4d}
.attachment button,.error{color:#ffa8a0}
dialog{background:#10161c;border-color:#3c444d;box-shadow:0 24px 100px #0009}
dialog::backdrop{background:radial-gradient(ellipse at 20% 50%,#c9955013,transparent 40%),#080b0fd9;backdrop-filter:blur(7px)}
dialog label{color:#c8c8c4}
dialog input,dialog select{background:#1b2229;border-color:#3c454f;color:var(--ink)}
dialog input:focus,dialog select:focus{border-color:#c99550}
.secure-note{color:#ddc6a1;background:#c9955010;border-color:#79603b}
.identity-box{background:#1b1c1d;border-color:#5c4b33}
.identity-box button{color:#e0b874}
#database-result{background:#171f26;color:#d7d4cc}
#login-dialog{padding:44px 48px;width:min(650px,95vw);border-radius:20px;background:radial-gradient(ellipse at 100% 0%,#c995500b,transparent 55%),#10161c}
.login-brand{display:block;width:min(290px,85%);height:auto;margin:0 auto 28px}
#login-dialog .dialog-title{margin-bottom:24px}
#login-dialog .dialog-title h2{font-size:22px}
#login-dialog input{min-height:51px;border-radius:11px}
#login-access-note{font-size:12px;color:var(--muted);margin:0 0 14px;line-height:1.7}
#login-submit{min-height:52px;margin-top:18px}
#login-status{min-height:22px;color:#d1bc9c}
@media(max-width:720px){#login-dialog{padding:28px 22px}.login-brand{width:230px;margin-bottom:20px}}
#archive{border:1px solid #79603b;border-radius:10px;padding:10px 14px;color:#e0b874;font-size:12px}
.archive-choice{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #514435;border-radius:12px;margin:12px 0;background:#c9955009;cursor:pointer}
.archive-choice input{width:auto;accent-color:#c99550;margin:0}
#archive-submit{width:100%;margin-top:10px}
#archive-status{color:#e0b874;white-space:pre-wrap}
.archive-label{color:#d1bc9c;font-size:11px}
.side-filter{display:flex;gap:6px;margin:10px 0}.side-filter button{padding:8px;border-radius:8px;border:1px solid #514435;color:#d1bc9c}.side-filter .active{background:#c9955030}
.customer-policy{margin:10px 0 4px;padding:10px 14px;border:1px solid #71522e;border-radius:12px;background:#251e16;color:#eed4a7;font-size:12px;line-height:1.9;text-align:right}
.customer-policy[hidden]{display:none}
header{gap:20px;padding-top:18px;padding-bottom:18px;flex-wrap:wrap}
.header-title{flex:1 1 220px;min-width:0}
.header-title h1{max-width:100%}
.header-details{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;max-width:52%;min-width:0}
.context-tags{display:flex;gap:8px;flex-wrap:wrap}
.maintenance-summary{white-space:pre-line;font-size:12px;line-height:1.9;color:#e1c49b}
.header-details .maintenance-summary{border-inline-start:1px solid #655137;padding-inline-start:16px;font-size:11px;line-height:1.7}
header #archive{flex-shrink:0;margin-inline-start:0;white-space:nowrap}
.composer-status{font-size:11px;line-height:1.8;margin:10px 2px 0;color:var(--muted);overflow-wrap:anywhere}
.composer-status.error{color:#ffa8a0}
.privacy-note{max-width:620px;margin:18px auto;color:#d4c5ae}
.recipient-panel{margin:20px 0;padding:18px;border:1px solid #665236;border-radius:14px;background:#c9955009}
.recipient-panel[hidden]{display:none}
.contact-panel{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}
.contact-panel p{font-size:12px;line-height:1.7;color:var(--muted)}
#archive-customer option,#archive-reporter option{padding:6px 8px}
.recipient-panel h3{font-size:15px;color:#e0bd85;margin:0 0 16px}
#archive-customer-hint{font-size:12px;color:#bfb5a5;line-height:1.8}
#archive-dialog{width:min(650px,94vw);max-height:88vh;overflow:auto}
#status:empty{display:none}
@media(max-width:1000px){header{gap:12px}.header-title{flex-basis:160px}.header-details{max-width:48%}}
@media(max-width:720px){header{gap:10px}.header-title{flex-basis:calc(100% - 160px)}.header-details{max-width:100%;width:100%;order:3}.header-details .maintenance-summary{border:0;padding:0;font-size:10px}.header-details .context-tags{margin-top:0}#archive{font-size:11px;padding:9px 10px}.recipient-panel{padding:14px}}
.login-language{justify-content:flex-end;margin-bottom:14px}
@media(min-width:721px){header{flex-wrap:nowrap;gap:12px}.header-title{flex-basis:140px}.header-details{max-width:44%;gap:7px 10px}.header-details .maintenance-summary{padding-inline-start:10px}}
@media(max-width:720px){.header-title{flex-basis:calc(100% - 105px)}header #archive{order:3;margin-inline-start:auto}.header-details{order:4}}
@media(max-width:720px){.install-app{font-size:0;min-height:40px}.install-app::before{content:'↓';font-size:22px}}
@media(max-width:720px){header{padding-top:12px;padding-bottom:12px;gap:6px}.header-details{gap:6px}.header-details .context-tags span{padding:4px 6px}header #archive{padding:7px 9px}}
@media(max-width:720px){.side-filter{flex-direction:column;gap:3px}.side-filter button{font-size:9px;padding:7px 2px;margin-bottom:0;text-align:center}}

/* Independent scroll regions: the document never grows with the transcript. */
html,body{height:100%;overflow:hidden;overscroll-behavior:none}
.app{height:100vh;height:var(--app-height,100dvh);min-height:0;overflow:hidden}
main{height:100%;overflow:hidden}
.sidebar{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.sidebar>.brand,.sidebar>.new,.sidebar>.identity-box,.sidebar>.side-caption,.sidebar>.side-bottom,.sidebar>.install-app{flex-shrink:0}
#tickets{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
#chat{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.identity-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.identity-actions .icon-button,.header-actions .icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:7px;margin:0;border:1px solid #5c4b33;border-radius:10px;color:#e0bd85}
.icon-button:hover{background:#c995501c}
.icon-button svg,.new svg,.tools svg,.icon-language svg,.install-app svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.header-actions #archive{order:0;margin:0;flex-shrink:0}
.archive-short{display:none}
.header-actions .install-app{width:36px;height:36px;min-height:36px;padding:7px;margin:0;font-size:0;flex-shrink:0}
.header-actions .install-app span,.header-actions .install-app::before{display:none}
.header-actions .install-app svg{width:18px;height:18px}
.header-actions .avatar-button{border-radius:50%;background:#c995501c;border-color:#92703f}
#account-dialog{width:min(360px,92vw);max-height:85dvh;overflow:auto;padding:24px}
.account-name{font-size:16px;font-weight:600;line-height:1.8;overflow-wrap:anywhere}
#account-dialog #identity-name{display:block}
.account-username{display:flex;flex-direction:column;gap:5px;margin:18px 0;color:var(--muted);font-size:12px}
.account-username b{font-size:14px;font-weight:500;color:var(--ink);overflow-wrap:anywhere}
.account-logout{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;border:1px solid #79603b;border-radius:10px;color:#e0bd85}
.account-logout svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.icon-language{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #5c4b33;border-radius:10px;margin:0;color:#e0bd85}
.icon-language select{position:absolute;inset:0;width:100%;height:100%;max-width:none;padding:0;opacity:0;cursor:pointer}
.icon-language:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.install-app{display:flex;align-items:center;justify-content:center;gap:7px}
.new{display:flex;justify-content:center;align-items:center;gap:8px}
.tools button{display:inline-flex;align-items:center;justify-content:center;gap:5px}
.tools svg{width:16px;height:16px}
.sidebar .segmented-filter{position:sticky;top:0;z-index:1;padding:3px;margin:0 0 10px;border:1px solid #514435;border-radius:12px;background:#151b21;gap:3px}
.sidebar .segmented-filter button{flex:1;min-width:0;width:auto;margin:0;padding:8px 4px;border:0;border-radius:8px;white-space:normal;text-align:center}
.sidebar .segmented-filter button.active{background:#c99550;color:#17120c;box-shadow:0 1px 5px #0003}
.composer-status{max-height:3.6em;overflow:auto}
@media(max-width:720px){
 .sidebar{width:64px;padding:12px 6px 8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
 .brand{margin:0 0 12px}.brand-logo{width:40px;height:40px}
 .new{min-height:38px;max-width:42px;padding:7px;margin:0 auto 10px;font-size:0;border-radius:11px}
 .new span,.new::after{display:none}.new svg{width:18px;height:18px}
 .identity-box{border:0;background:none;padding:0;margin:0 0 10px}
 .identity-actions{flex-direction:column;gap:5px;margin:0}
 .identity-actions .icon-button{width:36px;height:36px;margin:0}
 .install-app{width:36px;height:36px;min-height:36px;padding:7px;margin:0 auto 8px;font-size:0}
 .install-app::before,.install-app span{display:none}.install-app svg{width:18px;height:18px}
 .sidebar .segmented-filter{flex-direction:column;padding:3px;margin-bottom:8px}
 .sidebar .segmented-filter button{width:100%;min-height:30px;padding:5px 1px;font-size:9px}
 header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;padding:10px 12px;max-height:35%;overflow-y:auto}
 .header-title{grid-row:1;grid-column:1/-1;min-width:0}.header-title h1{margin:0;max-width:100%;font-size:16px}
 header>.header-actions{grid-row:2;grid-column:1/-1;justify-self:left;margin:0;order:initial;gap:5px}
 .header-actions .language-control{margin:0;order:initial}
 .header-details{grid-row:3;grid-column:1/-1;order:initial;width:auto;max-width:none;align-self:center;gap:4px}
 .header-actions #archive{order:0;margin:0;width:64px;min-width:64px;height:36px;padding:4px;font-size:9px;line-height:1.4;white-space:normal}
 .archive-full{display:none}.archive-short{display:inline}
 .header-details .maintenance-summary{font-size:9px;max-height:3.4em;overflow:auto}
 #chat{padding:12px 10px}
 footer{padding:6px 10px;padding-bottom:max(6px,env(safe-area-inset-bottom));min-height:0;max-height:48%;overflow-y:auto}
  #composer{padding:10px;border-radius:14px}#text{min-height:62px;max-height:110px;font-size:12px;line-height:1.7}
 .composer-bottom{flex-wrap:nowrap;gap:6px;align-items:center}.tools{gap:4px;font-size:9px;min-width:0;flex-wrap:wrap}
 .tools button{padding:5px 3px;min-height:30px}.tools label{gap:3px;white-space:nowrap}
 #send{min-width:108px;padding:9px 10px;font-size:11px;margin:0}
 #attachments{max-height:65px;padding-bottom:4px}.composer-status{font-size:10px;margin-top:5px}
}
@media(max-height:500px) and (max-width:720px){#text{min-height:42px;height:48px;max-height:65px}header{padding-top:6px;padding-bottom:6px}footer{max-height:55%}}

/* A single compact search/select control; results never expand the form itself. */
#archive-dialog{width:min(600px,94vw);padding:20px;max-height:calc(100dvh - 32px);scrollbar-width:thin;scrollbar-color:#655137 transparent}
#archive-dialog.has-recipient{height:min(560px,calc(100dvh - 32px));overflow:hidden}
#archive-dialog.has-recipient #archive-form{height:100%;min-height:0;display:flex;flex-direction:column}
#archive-dialog.has-recipient #archive-form>.dialog-title,#archive-dialog.has-recipient .archive-outcomes,#archive-dialog.has-recipient .archive-actions{flex-shrink:0}
#archive-dialog.has-recipient #archive-customer-panel{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#655137 transparent}
#archive-form>.dialog-title{margin-bottom:8px}#archive-form>.dialog-title h2{font-size:18px}
#archive-title{margin:0;font-size:12px}#archive-form .archive-description{margin:4px 0 10px;line-height:1.6}
.archive-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#archive-form .archive-choice{margin:0;padding:10px;gap:8px;line-height:1.6;font-size:11px}
#archive-form .recipient-panel{margin:12px 0;padding:14px}
#archive-form .recipient-panel h3{font-size:14px;margin:0 0 10px}
#archive-form .recipient-panel label{margin:8px 0 5px}
.customer-combobox{position:relative}
.customer-combobox-field{display:flex;align-items:center;border:1px solid #3c454f;border-radius:10px;background:#1b2229}
.customer-combobox-field:focus-within{border-color:#c99550;box-shadow:0 0 0 2px #c9955017}
#archive-customer-search,#archive-reporter-search{margin:0;border:0;background:transparent;min-width:0;min-height:42px;padding:10px 12px;box-shadow:none;flex:1;text-overflow:ellipsis}
#archive-customer-toggle,#archive-reporter-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;padding:9px;color:#d8bd92}
#archive-customer-toggle svg,#archive-reporter-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.customer-combobox-results{position:absolute;inset-inline:0;top:calc(100% + 5px);z-index:10;max-height:176px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#655137 transparent;border:1px solid #79603b;border-radius:10px;background:#1b2229;box-shadow:0 12px 28px #0007;padding:4px}
.customer-combobox-results button{display:block;width:100%;padding:9px 10px;text-align:start;font:inherit;font-size:12px;color:var(--ink);border-radius:6px;line-height:1.5;overflow-wrap:anywhere}
.customer-combobox-results.opens-up{top:auto;bottom:calc(100% + 5px)}
.customer-combobox-results button:hover,.customer-combobox-results button.is-active{background:#c9955022;color:#f0c88c}
.customer-combobox-empty{padding:10px;font-size:12px;color:var(--muted);line-height:1.6}
#archive-customer-hint{margin:5px 0;font-size:11px;line-height:1.5}
#archive-customer-hint:empty,#archive-maintenance:empty{display:none}
#archive-form .maintenance-summary{margin:6px 0;font-size:11px;line-height:1.6}
#archive-form .contact-panel{margin-top:10px;padding-top:8px}
#archive-reporter{margin-top:5px;min-height:42px;padding:9px 12px}
#archive-reporter-name{min-height:42px;margin-top:8px}#archive-reporter-name[readonly]{color:var(--ink)}
#archive-contact-hint{margin:6px 0 0;font-size:10px;line-height:1.6}#archive-contact-hint:empty{display:none}
#archive-form .secure-note{padding:8px 10px;margin:10px 0;font-size:10px;line-height:1.6}
.archive-actions{position:sticky;bottom:0;background:#10161c;padding:8px 0 0;z-index:2}
#archive-status{margin:0;font-size:11px}#archive-status:empty{display:none}
#archive-submit{margin-top:4px;min-height:42px}
@media(max-width:720px){#archive-dialog{padding:14px;max-height:calc(100dvh - 20px);width:calc(100vw - 20px)}#archive-form>.dialog-title h2{font-size:16px}#archive-form .recipient-panel{padding:10px;margin:10px 0}.archive-outcomes{gap:6px}#archive-form .archive-choice{padding:8px}.customer-combobox-results{max-height:148px}}
@media(max-width:720px){#archive-dialog.has-recipient{height:min(560px,calc(100dvh - 20px))}}
