/* Family card reference layout; editorial card typography is shared with transfers. */
.chat-view .conversation-message-row .conversation-bubble.is-family-card {
    width: 250px; max-width: 100%; padding: 0; border: 0; border-radius: 20px; background: transparent; box-shadow: none;
}
.chat-view .conversation-family-card-column { width: 250px; max-width: calc(100% - 46px); flex: 0 0 auto; }
.chat-view .is-outgoing .conversation-family-card-column { margin-left: auto; text-align: right; }
.chat-view .is-incoming .conversation-family-card-column { text-align: left; }
.chat-family-card.editorial-card { zoom: 1; max-width: 100%; }
.chat-family-card .family-period { font: 400 13px 'Noto Serif SC', serif; letter-spacing: 0; white-space: nowrap; }
.chat-family-card :is(.content-title, .content-value, .remark-text, .status-text) { overflow-wrap: anywhere; }
.chat-family-card-dialog { width: 290px; padding: 32px 24px; text-align: center; background: #fff; color: #000; border-color: #eaeaea; }
.chat-family-card-dialog h2 { margin: 0 0 8px; font: 600 16px/1.5 'Noto Serif SC', serif; }
.chat-family-card-dialog .transfer-hint { font-size: 12px; color: #666; }
.chat-family-card-dialog .transfer-primary { color: #fff; background: #000; border-color: #000; }
.chat-family-card-dialog .transfer-secondary { color: #000; background: #fff; border-color: #000; }
.chat-family-card-dialog .transfer-actions { margin-top: 24px; }
.chat-family-card-dialog .transfer-actions button { min-width: 0; font: 600 13px/1.5 'Noto Serif SC', serif; }
.chat-family-card-dialog .family-virtual-card {
    width: 100%; min-height: 142px; background: linear-gradient(135deg, #1c1c1e 0%, #0a0a0a 100%);
    border-radius: 14px; padding: 16px 18px; color: #fff; display: flex; flex-direction: column; justify-content: space-between;
    gap: 12px; position: relative; overflow: hidden; box-shadow: 0 12px 28px rgb(0 0 0 / 18%);
    border: 1px solid rgb(255 255 255 / 12%); margin: 16px 0 18px; text-align: left;
}
.chat-family-card-dialog .family-virtual-card::before {
    content: ''; position: absolute; top: -40%; right: -25%; width: 170px; height: 170px; border-radius: 50%;
    background: radial-gradient(circle, rgb(255 255 255 / 8%) 0%, transparent 70%); pointer-events: none;
}
.chat-family-card-dialog .fcard-top, .chat-family-card-dialog .fcard-bottom { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.chat-family-card-dialog .fcard-bottom { align-items: flex-end; }
.chat-family-card-dialog .fcard-chip { flex: 0 0 26px; height: 19px; border-radius: 3px; background: linear-gradient(135deg, #e5e5ea 0%, #8e8e93 100%); position: relative; border: .5px solid rgb(255 255 255 / 70%); }
.chat-family-card-dialog .fcard-chip::after { content: ''; position: absolute; inset: 3px; border: .5px solid #636366; border-radius: 2px; }
.chat-family-card-dialog .fcard-badge { font: 600 9px 'Inter', sans-serif; letter-spacing: 1px; color: #8e8e93; }
.chat-family-card-dialog .fcard-mid { display: flex; flex-direction: column; gap: 2px; }
.chat-family-card-dialog .fcard-limit-label { font: 400 9px 'Noto Serif SC', serif; color: #8e8e93; letter-spacing: .5px; }
.chat-family-card-dialog .fcard-amount { font: 600 28px/1 'Cormorant Garamond', serif; color: #fff; letter-spacing: .5px; overflow-wrap: anywhere; }
.chat-family-card-dialog .fcard-amount span { font: 400 11px 'Noto Serif SC', serif; color: #8e8e93; margin-left: 4px; }
.chat-family-card-dialog .fcard-role { font: 600 12px 'Noto Serif SC', serif; color: #f2f2f7; letter-spacing: .5px; overflow-wrap: anywhere; }
.chat-family-card-dialog .fcard-role-en { font: 400 8px 'Inter', sans-serif; color: #636366; letter-spacing: .5px; margin-top: 1px; }
.chat-family-card-dialog .fcard-logo { font: 600 10px 'Inter', sans-serif; letter-spacing: 1.5px; color: #aeaeb2; }
.chat-family-card-dialog .card-active-stamp {
    position: absolute; right: 14px; top: 50%; transform: translateY(-50%) rotate(-8deg); border: 1.5px solid rgb(255 255 255 / 85%); color: #fff;
    font: 600 9px 'Inter', sans-serif; letter-spacing: 1.5px; padding: 3px 8px; border-radius: 4px; background: rgb(0 0 0 / 50%);
}
.chat-family-card-dialog .family-detail-list { width: 100%; margin: 12px 0 20px; border-top: 1px solid #eaeaea; padding-top: 10px; text-align: left; }
.chat-family-card-dialog .family-detail-row { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; font: 11px/1.5 'Noto Serif SC', serif; }
.chat-family-card-dialog .family-detail-label { color: #999; flex-shrink: 0; }
.chat-family-card-dialog .family-detail-val { color: #000; font-weight: 500; text-align: right; overflow-wrap: anywhere; }
