/* app/static/css/ui/tooltips.css */
/* Стили для всплывающих подсказок */

[data-tooltip] {
    position: relative;
    cursor: pointer;
}

.app-tooltip {
    position: absolute;
    z-index: var(--app-z-tooltip);
    padding: var(--app-spacing-xs) var(--app-spacing-sm);
    background-color: var(--app-color-text-primary);
    color: var(--app-color-bg-body);
    font-size: var(--app-font-size-xs);
    line-height: var(--app-line-height-tight);
    border-radius: var(--app-radius-sm);
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity var(--app-transition-fast) ease;
    box-shadow: var(--app-shadow-md);
    max-width: 200px;
    text-align: center;
    font-weight: 500;
}

.app-tooltip::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border: 5px solid transparent;
}

/* Top */
.app-tooltip-top {
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-5px);
    margin-bottom: 8px;
}

.app-tooltip-top::before {
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-top-color: var(--app-color-text-primary);
}

/* Bottom */
.app-tooltip-bottom {
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(5px);
    margin-top: 8px;
}

.app-tooltip-bottom::before {
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-bottom-color: var(--app-color-text-primary);
}

/* Left */
.app-tooltip-left {
    right: 100%;
    top: 50%;
    transform: translateY(-50%) translateX(-5px);
    margin-right: 8px;
}

.app-tooltip-left::before {
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    border-left-color: var(--app-color-text-primary);
}

/* Right */
.app-tooltip-right {
    left: 100%;
    top: 50%;
    transform: translateY(-50%) translateX(5px);
    margin-left: 8px;
}

.app-tooltip-right::before {
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
    border-right-color: var(--app-color-text-primary);
}

[data-tooltip]:hover .app-tooltip,
[data-tooltip]:focus .app-tooltip {
    opacity: 1;
}

/* Primary */
.app-tooltip-primary {
    background-color: var(--app-color-primary);
    color: white;
}
.app-tooltip-primary::before { border-top-color: var(--app-color-primary); }
.app-tooltip-primary.app-tooltip-bottom::before { border-bottom-color: var(--app-color-primary); }
.app-tooltip-primary.app-tooltip-left::before { border-left-color: var(--app-color-primary); }
.app-tooltip-primary.app-tooltip-right::before { border-right-color: var(--app-color-primary); }

/* Success */
.app-tooltip-success {
    background-color: var(--app-color-success);
    color: white;
}
.app-tooltip-success::before { border-top-color: var(--app-color-success); }

/* Danger */
.app-tooltip-danger {
    background-color: var(--app-color-danger);
    color: white;
}
.app-tooltip-danger::before { border-top-color: var(--app-color-danger); }