/* Scoped additions for the consultation handoff and administrator settings. */
.chat-dialog { width: min(430px, calc(100% - 24px)); max-height: min(780px, calc(100dvh - 32px)); }
.chat-dialog[open] { display: flex; flex-direction: column; }
.chat-header, .connection-status, .chat-error { flex-shrink: 0; }
#chat-start { overflow-y: auto; min-height: 0; overscroll-behavior: contain; padding: 20px 22px 24px; }
#chat-start > .muted { margin-top: 9px; font-size: .77rem; }
#chat-start form { margin-top: 20px; }
#chat-start-form > label + label { margin-top: 15px; }
#chat-start-form textarea { resize: vertical; min-height: 84px; max-height: 200px; }
#chat-start-form .checkbox-label { margin-top: 19px; }
.chat-conversation { min-height: 0; height: min(520px, calc(100dvh - 180px)); }
.chat-summary-bar { padding: 9px 18px; border-bottom: 1px solid var(--line); flex-shrink: 0; }
.chat-summary-bar .text-link { font-size: .75rem; padding-block: 3px; }
.chat-summary-bar .field-help { margin-top: 2px; font-size: .66rem; }
#chat-summary-fallback { max-height: 100px; font-size: .73rem; resize: vertical; }
.kakao-handoff { width: 100%; max-width: 310px; padding: 12px; margin-top: 6px; border: 1px solid #e9df9d; border-radius: 8px; background: #fffdf2; color: #2d2923; }
.kakao-handoff > strong { display: block; font-size: .8rem; overflow-wrap: anywhere; }
.kakao-handoff .field-help { color: #68604c; font-size: .67rem; line-height: 1.65; }
.kakao-button { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px; border-radius: 5px; background: #fee500; color: #25201b; font-size: .76rem; line-height: 1.5; margin-top: 10px; text-align: center; overflow-wrap: anywhere; }
.kakao-button:hover { background: #f4dc00; }
.admin-tabs { flex-wrap: wrap; }
.admin-toolbar { align-items: flex-start; }
.admin-connection { padding-top: 12px; }
.thread-intake, .thread-handoff { padding: 0 18px; flex-shrink: 0; border-bottom: 1px solid var(--line); }
.thread-active { overflow-y: auto; overscroll-behavior: contain; }
.thread-active > .messages { flex: 1 0 130px; }
.thread-active > .message-form, .thread-header { flex-shrink: 0; }
.thread-header h2 { min-width: 0; overflow-wrap: anywhere; }
.thread-back { flex-shrink: 0; }
.thread-intake summary, .thread-handoff summary { padding: 10px 0; font-size: .75rem; gap: 8px; }
.thread-intake summary::after, .thread-handoff summary::after { content: '+'; margin-left: auto; }
.thread-intake[open] summary::after, .thread-handoff[open] summary::after { content: '−'; }
.thread-intake dl { display: grid; grid-template-columns: 85px minmax(0, 1fr); gap: 6px 10px; max-height: 160px; overflow-y: auto; margin: 0 0 12px; font-size: .73rem; }
.thread-intake dt { color: var(--muted); }
.thread-intake dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.thread-handoff { border-top: 1px solid var(--line); border-bottom: 0; background: #fbfcf8; }
.thread-handoff form { padding-bottom: 10px; }
.handoff-controls { display: flex; gap: 8px; align-items: center; }
.handoff-controls select { flex: 1; margin-top: 5px; font-size: .75rem; }
.handoff-controls .button { flex-shrink: 0; margin-top: 5px; min-height: 42px; padding: 8px 10px; font-size: .72rem; }
.thread-handoff .field-help { font-size: .66rem; }
.thread-handoff > .field-help:not(:empty) { margin-bottom: 9px; }
.thread-handoff .form-error:not(:empty) { margin-block: 0 9px; font-size: .72rem; }
.admin-section-title { font-size: 1.35rem; margin-top: 25px; }
.admin-notice { line-height: 1.8; }
.admin-settings-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; margin-bottom: 45px; }
.admin-settings-card { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 22px; min-width: 0; }
.admin-settings-card h3 { font-size: 1rem; overflow-wrap: anywhere; }
.admin-settings-card form { margin-top: 20px; }
.admin-settings-card form > label + label { margin-top: 16px; }
.admin-settings-card .checkbox-label { margin-top: 20px; }
.admin-settings-card form > .button { margin-top: 18px; }
.settings-card-header { display: flex; gap: 10px; align-items: start; justify-content: space-between; }
.settings-actions { display: flex; gap: 18px; margin-top: 20px; align-items: center; }
.settings-actions .button { min-height: 43px; font-size: .8rem; }
.settings-actions .text-link, .admin-settings-card > .text-link { font-size: .75rem; }
.chat-links-list { display: grid; gap: 12px; min-width: 0; }
.chat-link-address { display: block; font-size: .73rem; color: #4d6250; text-decoration: underline; text-underline-offset: 3px; margin: 14px 0 9px; overflow-wrap: anywhere; }
#passkey-login-note { margin-bottom: 18px; }
#login-step { margin-block: 20px 12px; font-weight: 600; }
#passkey-setup-form { margin-top: 12px; }
#passkey-setup-form > .button { margin-top: 18px; }
#passkey-restart { display: block; margin-block: 18px; font-size: .75rem; }
#passkey-browser-help .text-link { font-size: .75rem; }
#copy-admin-url-status { overflow-wrap: anywhere; }
#passkey-browser-help { padding: 14px; border: 1px solid var(--line); border-radius: 6px; }
@media (max-width: 720px) {
  .chat-dialog { max-height: calc(100dvh - 24px); }
  .admin-tabs { width: 100%; gap: 3px; }
  .admin-tab { flex: 1 1 auto; padding: 8px 9px; font-size: .75rem; }
  .admin-connection { padding-top: 0; }
  .admin-settings-grid { grid-template-columns: 1fr; gap: 14px; }
  .admin-settings-card { padding: 18px; }
  .thread-intake, .thread-handoff { padding-inline: 13px; }
  .admin-chat-layout { height: calc(100dvh - 220px); min-height: 400px; }
}
@media (max-width: 360px) {
  #chat-start { padding-inline: 16px; }
  .admin-tab { flex-basis: calc(50% - 3px); font-size: .73rem; }
  .handoff-controls { flex-wrap: wrap; gap: 5px; }
  .handoff-controls select { flex-basis: 100%; }
  .handoff-controls .button { width: 100%; }
  .thread-intake dl { grid-template-columns: 70px minmax(0, 1fr); }
}
