/* Assistant CNAMU */
.cnamu-assistant { position: fixed; right: 16px; bottom: 16px; z-index: 80; font-family: inherit; }
.cas-bubble { display: inline-flex; align-items: center; gap: 8px; min-height: 52px; padding: 12px 18px; border-radius: 999px; background: #123B5E; color: #fff !important; text-decoration: none !important; font-weight: 600; box-shadow: 0 10px 28px -8px rgba(18, 59, 94, .55); }
.cas-bubble:hover { background: #1F5C91; }
.cas-bubble:focus-visible { outline: 3px solid #F2B705; outline-offset: 3px; }
.cnamu-assistant.is-open .cas-bubble__label { display: none; }
@media (max-width: 480px) { .cas-bubble { padding: 12px 14px; } .cas-bubble__label { font-size: .875rem; } }
.cas-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.cas-panel { position: fixed; right: 16px; bottom: 80px; width: min(400px, calc(100vw - 32px)); height: min(620px, calc(100vh - 110px)); display: flex; flex-direction: column; background: #fff; border: 1px solid #DCE2E7; border-radius: 16px; box-shadow: 0 24px 60px -20px rgba(18, 59, 94, .45); overflow: hidden; }
@media (max-width: 480px) { .cas-panel { right: 0; left: 0; bottom: 0; width: 100%; height: calc(100vh - 70px); height: calc(100dvh - 70px); border-radius: 16px 16px 0 0; } .cnamu-assistant.is-open .cas-bubble { display: none; } }
.cas-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; padding: 14px 16px; background: #123B5E; color: #fff; }
.cas-title { margin: 0; font-weight: 700; font-size: 1rem; color: #fff; }
.cas-sub { margin: 2px 0 0; font-size: .8125rem; color: #C5DAEC; }
.cas-close { width: 40px; height: 40px; border: 0; border-radius: 8px; background: rgba(255, 255, 255, .1); color: #fff; font-size: 1.5rem; line-height: 1; cursor: pointer; }
.cas-close:hover { background: rgba(255, 255, 255, .2); }
.cas-log { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; background: #F4F6F8; }
.cas-msg { max-width: 92%; padding: 10px 12px; border-radius: 12px; font-size: .9375rem; line-height: 1.5; }
.cas-msg p { margin: 0 0 6px; }
.cas-msg p:last-child { margin-bottom: 0; }
.cas-msg--me { align-self: flex-end; background: #1F5C91; color: #fff; border-bottom-right-radius: 4px; }
.cas-msg--bot { align-self: flex-start; background: #fff; border: 1px solid #DCE2E7; color: #1E252B; border-bottom-left-radius: 4px; }
.cas-msg--bot.cas-unknown, .cas-msg--bot.cas-medical, .cas-msg--bot.cas-personal { border-left: 4px solid #B07D00; }
.cas-notice { font-size: .8125rem; background: #FFF4D6; color: #5C4300; padding: 6px 8px; border-radius: 6px; }
.cas-source { font-size: .8125rem; color: #4A5560; border-top: 1px dashed #DCE2E7; padding-top: 6px; margin-top: 8px !important; }
.cas-link { color: #1E6DB5; font-weight: 600; }
.cas-items { list-style: none; padding: 0; margin: 8px 0; display: grid; gap: 6px; }
.cas-items li { display: flex; flex-direction: column; padding: 8px; border-radius: 8px; background: #F4F6F8; font-size: .875rem; }
.cas-items span { color: #4A5560; }
.cas-tel { color: #1E6DB5; }
.cas-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.cas-btn { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 12px; border-radius: 8px; border: 2px solid #1F5C91; background: #1F5C91; color: #fff !important; text-decoration: none !important; font-size: .875rem; font-weight: 600; cursor: pointer; }
.cas-btn--ghost { background: #fff; color: #1F5C91 !important; }
.cas-btn:disabled { opacity: .6; cursor: default; }
.cas-sugg { display: flex; flex-wrap: wrap; gap: 6px; }
.cas-chip { min-height: 36px; padding: 6px 12px; border: 1px solid #B9C4CE; border-radius: 999px; background: #fff; color: #123B5E; font-size: .8125rem; font-weight: 500; cursor: pointer; text-align: left; }
.cas-chip:hover { border-color: #1F5C91; background: #EAF3FB; }
.cas-small { font-size: .8125rem; color: #4A5560; }
.cas-official { margin-top: 6px; font-size: .8125rem; }
.cas-official summary { cursor: pointer; color: #1E6DB5; font-weight: 600; }
.cas-fb { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; font-size: .8125rem; color: #4A5560; }
.cas-fb__btn { min-height: 32px; padding: 4px 10px; border: 1px solid #B9C4CE; border-radius: 6px; background: #fff; cursor: pointer; font-size: .8125rem; }
.cas-transfer { display: grid; gap: 6px; margin-top: 10px; padding-top: 10px; border-top: 1px dashed #DCE2E7; font-size: .875rem; }
.cas-transfer label { font-weight: 600; color: #123B5E; }
.cas-transfer input, .cas-transfer textarea { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid #8796A3; border-radius: 8px; font: inherit; }
.cas-form { display: flex; gap: 8px; padding: 10px; border-top: 1px solid #DCE2E7; background: #fff; }
.cas-form input { flex: 1; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid #8796A3; border-radius: 10px; font: inherit; }
.cas-send { width: 44px; height: 44px; border: 0; border-radius: 10px; background: #C8202F; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.cas-send:hover { background: #A51A27; }
.cas-foot { margin: 0; padding: 0 12px 10px; font-size: .75rem; color: #4A5560; background: #fff; }
.cas-foot a { color: #1E6DB5; }
.cas-dots { display: inline-flex; gap: 4px; }
.cas-dots i { width: 6px; height: 6px; border-radius: 50%; background: #8796A3; animation: cas-b 1s infinite ease-in-out; }
.cas-dots i:nth-child(2) { animation-delay: .15s; }
.cas-dots i:nth-child(3) { animation-delay: .3s; }
@keyframes cas-b { 0%, 80%, 100% { opacity: .3; } 40% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .cas-dots i { animation: none; } }
