.contact-search-trigger { display:inline-flex; align-items:center; gap:6px; flex-shrink:0; white-space:nowrap; min-height:44px; padding:10px 14px; border-radius:12px; font-size:.9rem; }
.contact-search-dialog { --cs-line:var(--border,#e4e8eb); --cs-muted:var(--text-sub,#71808b); box-sizing:border-box; width:min(600px,calc(100vw - 32px)); height:min(740px,88dvh); max-height:88dvh; padding:0; border:1px solid var(--cs-line); border-radius:22px; overflow:hidden; color:var(--text-main,#202c38); background:var(--surface,#fff); box-shadow:0 24px 80px #101e3033; font:inherit; }
.contact-search-dialog::backdrop { background:#101e3066; backdrop-filter:blur(3px); }
.contact-search-dialog[open] { display:flex; flex-direction:column; }
.contact-search-dialog [hidden] { display:none !important; }
.contact-search-dialog header { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; gap:12px; padding:18px 22px; border-bottom:1px solid var(--cs-line); }
.contact-search-heading,.contact-search-actions { display:flex; align-items:center; gap:10px; }
.contact-search-mark { color:var(--primary,#555cf0); font-size:23px; }
.contact-search-dialog h2 { margin:0; font-size:1.1rem; font-weight:650; }
.contact-search-dialog button { font:inherit; cursor:pointer; }
.contact-search-dialog header button { display:inline-flex; align-items:center; justify-content:center; gap:5px; border:1px solid var(--cs-line); background:var(--surface,#fff); color:var(--text-main,#0f172a); box-shadow:none; padding:8px 11px; min-height:44px; border-radius:10px; font-weight:600; }
.contact-search-dialog [data-reset] { font-size:.82rem; color:var(--primary,#2563eb); background:color-mix(in srgb,var(--primary,#2563eb) 7%,var(--surface,#fff)); border-color:color-mix(in srgb,var(--primary,#2563eb) 25%,var(--cs-line)); }
.contact-search-dialog [data-close] { font-size:.82rem; margin-left:5px; }
.contact-search-dialog [data-close] > span:first-child { font-size:23px; font-weight:400; line-height:1; }
.contact-search-dialog [data-reset] > span:first-child { font-size:19px; line-height:1; }
.contact-search-dialog header button:hover { background:var(--bg,#f6f8fa); }
.contact-search-empty { display:flex; flex:1; flex-direction:column; justify-content:center; align-items:center; padding:24px; gap:10px; text-align:center; }
.contact-search-empty p { font-size:1.3rem; font-weight:600; }
.contact-search-empty [data-suggestions] { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.contact-search-empty button { border:1px solid var(--cs-line); border-radius:20px; padding:8px 13px; background:transparent; color:var(--cs-muted); font-size:.83rem; box-shadow:none; }
.contact-search-empty button:hover { border-color:var(--primary,#555cf0); color:var(--primary,#555cf0); }
.contact-search-dialog [data-log] { position:relative; flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 22px; }
.contact-search-dialog:has(.contact-search-empty:not([hidden])) [data-log] { flex:0; padding:0; }
.contact-search-dialog p { line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.contact-search-dialog [data-status] { flex-shrink:0; min-height:0; margin:0; padding:0 22px; color:var(--cs-muted); font-size:.85rem; }
.contact-search-dialog [data-status]:not(:empty) { padding-top:10px; padding-bottom:10px; }
.contact-search-dialog[aria-busy=true] [data-status]::before { content:""; display:inline-block; width:10px; height:10px; margin-right:8px; border:2px solid var(--cs-line); border-top-color:var(--primary,#555cf0); border-radius:50%; animation:cs-spin .9s linear infinite; }
.contact-search-user { padding:10px 14px; border-radius:14px 14px 3px 14px; margin:18px 0 16px 40px; width:fit-content; max-width:calc(100% - 40px); justify-self:end; background:var(--primary,#555cf0); color:#fff; font-size:.92rem; }
.contact-search-reply { margin:0 0 24px; }
.contact-search-need { color:var(--cs-muted); font-size:.82rem; margin:0 0 4px; overflow:hidden; white-space:nowrap !important; text-overflow:ellipsis; }
.contact-search-meta { color:var(--cs-muted); font-size:.8rem; margin:5px 0 10px; }
.contact-search-result { padding:16px; border:1px solid var(--cs-line); border-radius:14px; margin:10px 0; }
.contact-search-result h3 { margin:0 0 4px; font-size:.98rem; font-weight:650; }
.contact-search-result .contact-search-reason { margin:10px 0; font-size:.9rem; }
.contact-search-result-actions { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-top:12px; }
.contact-search-result details { flex:1; min-width:0; font-size:.8rem; color:var(--cs-muted); }
.contact-search-result summary { cursor:pointer; padding:7px 0; }
.contact-search-result blockquote { margin:8px 0; border-left:2px solid var(--cs-line); padding-left:10px; overflow-wrap:anywhere; white-space:pre-wrap; }
.contact-search-result-actions button { flex-shrink:0; background:transparent; color:var(--primary,#555cf0); border:0; box-shadow:none; padding:7px 0 7px 10px; font-size:.83rem; }
.contact-search-more { display:block; margin:12px auto; border:0; background:transparent; color:var(--primary,#555cf0); padding:8px 14px; box-shadow:none; font-size:.85rem !important; }
.contact-search-question { margin:14px 0; font-size:.9rem; }
.contact-search-dialog form { flex-shrink:0; padding:14px 18px max(12px,env(safe-area-inset-bottom)); border-top:1px solid var(--cs-line); }
.contact-search-dialog [data-label] { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.contact-search-composer { display:flex; align-items:flex-end; gap:8px; padding:8px; border:1px solid var(--cs-line); border-radius:14px; }
.contact-search-composer:focus-within { border-color:var(--primary,#555cf0); box-shadow:0 0 0 2px color-mix(in srgb,var(--primary,#555cf0) 12%,transparent); }
.contact-search-dialog textarea { display:block; box-sizing:border-box; width:100%; min-width:0; min-height:40px; max-height:128px; padding:9px 6px; resize:none; border:0; border-radius:0; background:transparent; color:inherit; font:inherit; font-size:16px; line-height:22px; outline:none; }
.contact-search-dialog [data-send] { flex-shrink:0; min-height:40px; min-width:60px; padding:8px 14px; border:0; border-radius:10px; background:var(--primary,#555cf0); color:#fff; font-size:.85rem; box-shadow:none; }
.contact-search-dialog button:disabled { opacity:.5; cursor:wait; }
.contact-search-dialog [data-credit] { display:block; margin-top:8px; text-align:center; color:var(--cs-muted); font-size:.7rem; }
.contact-search-dialog :focus-visible { outline:2px solid var(--primary,#555cf0); outline-offset:3px; }
.contact-search-dialog textarea:focus-visible { outline:none; }
@keyframes cs-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .contact-search-dialog [data-status]::before { animation:none !important; } }
@media(max-width:480px) { .contact-search-dialog { width:calc(100vw - 16px); height:92dvh; max-height:92dvh; border-radius:18px; } .contact-search-dialog header { padding:12px 14px; } .contact-search-dialog [data-log] { padding:0 14px; } .contact-search-dialog form { padding:10px 12px max(10px,env(safe-area-inset-bottom)); } .contact-search-trigger { padding:10px; font-size:.8rem; } }
@media(max-width:380px) { .contact-search-dialog header { gap:8px; } .contact-search-heading,.contact-search-actions { gap:6px; } .contact-search-dialog h2 { font-size:1rem; } .contact-search-dialog header button { padding:8px; } .contact-search-dialog [data-close] { margin-left:0; } }
