/* Compact rows + visibility + quick actions (MEGA additions, listudio-safe) */

.vis-badge {
    display: inline-block;
    font-size: 0.72rem;
    line-height: 1;
    margin-left: 6px;
    padding: 2px 6px;
    border-radius: 999px;
    vertical-align: 1px;
    white-space: nowrap;
}
.vis-badge.is-private {
    background: rgba(148, 163, 184, 0.15);
    color: #94a3b8;
}
.vis-badge.is-public {
    background: rgba(34, 197, 94, 0.15);
    color: #22c55e;
}

.vis-dot {
    position: absolute;
    bottom: 2px;
    right: 2px;
    font-size: 0.7rem;
    line-height: 1;
    background: rgba(0, 0, 0, 0.55);
    border-radius: 999px;
    padding: 2px;
}
.file-icon {
    position: relative;
}

.row-actions {
    display: inline-flex;
    gap: 2px;
    margin-left: 8px;
    align-items: center;
}
.row-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    border: 1px solid transparent;
    background: transparent;
    color: inherit;
    opacity: 0.55;
    cursor: pointer;
    padding: 0;
}
.row-btn:hover {
    opacity: 1;
    background: rgba(148, 163, 184, 0.15);
    border-color: rgba(148, 163, 184, 0.25);
}
.row-btn svg {
    width: 15px;
    height: 15px;
}
.file-item:hover .row-btn {
    opacity: 0.85;
}
/* Touch devices: always show actions */
@media (hover: none) {
    .row-btn {
        opacity: 0.9;
    }
}

/* Tighter list rows */
.file-list-meta {
    gap: 10px;
}
.file-text-main .file-name {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
}
.new-badge {
    margin-left: 6px;
}
