/* 锦鲤招投标 - 共享样式 */

/* Skeleton loading */
@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

.skeleton {
    background: linear-gradient(90deg, #21262d 25%, #30363d 50%, #21262d 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
    border-radius: 4px;
}

.skeleton-card {
    background: #161b22;
    border: 1px solid #30363d;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 12px;
}

.skeleton-line {
    height: 14px;
    margin-bottom: 10px;
}

.skeleton-line.w60 { width: 60%; }
.skeleton-line.w80 { width: 80%; }
.skeleton-line.w40 { width: 40%; }
.skeleton-line.h20 { height: 20px; }

/* Fade in animation */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.fade-in {
    animation: fadeIn 0.3s ease-out;
}

/* Heatmap bar */
.heatmap-bar {
    height: 24px;
    border-radius: 4px;
    background: #1f6feb;
    transition: width 0.5s;
    display: flex;
    align-items: center;
    padding: 0 8px;
    font-size: 12px;
    color: #fff;
    min-width: 30px;
}

/* Rating stars */
.rating-stars {
    color: #f85149;
    font-size: 12px;
    letter-spacing: 1px;
}

/* Lead card styles */
.lead-card {
    background: #161b22;
    border: 1px solid #30363d;
    border-radius: 8px;
    padding: 14px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.2s;
    border-left: 3px solid transparent;
    text-decoration: none;
    color: inherit;
    display: block;
    position: relative;
}

.lead-card:hover {
    border-color: #58a6ff;
    transform: translateY(-1px);
}

.lead-card.high { border-left-color: #f85149; }
.lead-card.mid { border-left-color: #d29922; }
.lead-card.low { border-left-color: #3fb950; }

/* Tag styles */
.tag {
    display: inline-block;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 10px;
    font-weight: 500;
}

.tag-location {
    background: #1f6feb22;
    color: #58a6ff;
    border: 1px solid #1f6feb44;
}

.tag-priority-high {
    background: #f8514922;
    color: #f85149;
}

.tag-priority-mid {
    background: #d2992222;
    color: #d29922;
}

.tag-priority-low {
    background: #3fb95022;
    color: #3fb950;
}

.tag-new {
    background: #1f6feb;
    color: #fff;
    font-weight: 700;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

/* Logo */
.logo-img {
    height: 50px;
    width: auto;
}

.logo-container {
    display: flex;
    align-items: center;
    gap: 8px;
}
