/* Gợi ý ngữ cảnh dùng chung: không chiếm diện tích, không hiển thị icon. */
.qp-context-hint { display: none !important; }
.qp-context-hint-target { cursor: help; }
.qp-context-hint-target:focus-visible {
    outline: 2px solid rgba(31, 131, 224, .5);
    outline-offset: 3px;
    border-radius: 5px;
}
.qp-context-tooltip {
    position: fixed;
    z-index: 2147483000;
    max-width: min(360px, calc(100vw - 28px));
    padding: 10px 12px;
    border: 1px solid rgba(151, 191, 238, .72);
    border-radius: 13px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(237, 247, 255, .97));
    color: #294467;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.5;
    white-space: pre-line;
    box-shadow: 0 14px 32px rgba(20, 53, 92, .20), inset 0 1px 0 rgba(255, 255, 255, .94);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-4px) scale(.985);
    transition: opacity .16s ease, transform .16s ease;
}
.qp-context-tooltip.is-visible { opacity: 1; transform: translateY(0) scale(1); }
@media (max-width: 767.98px) {
    .qp-context-tooltip { max-width: min(320px, calc(100vw - 24px)); font-size: 12px; }
}
@media print { .qp-context-hint, .qp-context-tooltip { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .qp-context-tooltip { transition: none; } }
