.chat-box { display: flex; flex-direction: column; height: calc(100vh - 14rem); min-height: 22rem; }
.chat-box.compact { height: 30rem; min-height: 0; }
.chat-messages { flex: 1; overflow-y: auto; padding: .5rem .25rem; background: #f8f9fb; border: 1px solid #eef0f3;
                 border-radius: .5rem; }
.msg { display: flex; gap: .5rem; align-items: flex-end; margin: .45rem 0; }
.msg.mine { justify-content: flex-end; }
.msg .bubble { max-width: 78%; background: #fff; border: 1px solid #e5e7eb; border-radius: .75rem .75rem .75rem .2rem;
               padding: .4rem .65rem; font-size: .875rem; overflow-wrap: anywhere; }
.msg.mine .bubble { background: #e8edf7; border-color: #c9d4ea; border-radius: .75rem .75rem .2rem .75rem; }
.msg-meta { font-size: .7rem; color: #6b7280; margin-bottom: .1rem; }
.msg-finding { display: block; font-size: .75rem; color: #92400e; background: #fffbeb; border-left: 3px solid #f59e0b;
               padding: .15rem .4rem; margin: .15rem 0 .25rem; border-radius: .25rem; text-decoration: none; }
.msg-file { display: inline-flex; gap: .35rem; align-items: center; margin-top: .25rem; padding: .25rem .5rem;
            border: 1px solid #d1d5db; border-radius: .4rem; background: #fff; text-decoration: none; font-size: .8rem; }
.msg-voice { display: flex; gap: .4rem; align-items: center; margin-top: .25rem; color: #1f3864; }
.msg-voice audio { height: 2rem; max-width: 15rem; }
.msg-image { max-width: 14rem; max-height: 10rem; border-radius: .4rem; border: 1px solid #e5e7eb; }
.msg-system { text-align: center; margin: .5rem 0; font-size: .75rem; color: #4b5563; }
.msg-system span { background: #eef1f6; padding: .2rem .6rem; border-radius: 999px; display: inline-block; }
.chat-form { margin-top: .5rem; }
.chat-compose { display: flex; gap: .35rem; align-items: flex-end; }
.chat-compose textarea { resize: none; max-height: 8rem; }
.chat-about, .chat-recording { font-size: .8rem; background: #fffbeb; border: 1px solid #fde68a; border-radius: .4rem;
                               padding: .25rem .5rem; margin-bottom: .35rem; display: flex; align-items: center;
                               gap: .35rem; }
.chat-recording { background: #fef2f2; border-color: #fecaca; }
.chat-about.d-none, .chat-recording.d-none { display: none; }
.rec-dot { width: .6rem; height: .6rem; border-radius: 50%; background: #dc2626; animation: blink 1s infinite; }
@keyframes blink { 50% { opacity: .2; } }
.chat-attached { display: flex; flex-wrap: wrap; gap: .3rem; margin-bottom: .3rem; }
.chat-attached:empty { display: none; }
.chat-attached .chip audio { height: 1.6rem; max-width: 12rem; }
.inbox { max-height: calc(100vh - 14rem); overflow-y: auto; }
.inbox-item { display: flex; gap: .55rem; align-items: center; padding: .5rem; border-radius: .5rem; color: inherit;
              text-decoration: none; font-size: .85rem; }
.inbox-item:hover { background: #f3f4f6; }
.inbox-item.active { background: #e8edf7; }
.nav-badge { font-size: .65rem; vertical-align: top; }
.msg-review { color: #1e3a8a; background: #eff6ff; border-left-color: #3b82f6; }
