/* Master stylesheet — imports all modules */
@import url('./base.css');
@import url('./layout.css');
@import url('./components.css');
@import url('./dashboard.css');
@import url('./charts.css');
@import url('./search.css');
@import url('./upload.css');
@import url('./opportunities.css');
@import url('./panel.css');
@import url('./deals.css');
@import url('./igb-news.css');
@import url('./roadmap.css');

/* ═══ Global Utilities ═══ */

/* Loading overlay */
.loading-overlay {
    position: absolute; inset: 0;
    background: rgba(243, 244, 248, 0.9);
    display: flex; align-items: center; justify-content: center;
    z-index: 50; border-radius: var(--radius);
}

/* Export button */
.export-btn {
    background: var(--bg-elevated); color: var(--text-secondary);
    border: 1px solid var(--border-strong);
}
.export-btn:hover { background: var(--bg-hover); color: var(--text-primary); }

/* Search actions */
.search-actions { display: flex; align-items: center; gap: 12px; }

/* Search Profile button */
.search-view-btn {
    background: linear-gradient(135deg, var(--primary), var(--primary-hover));
    color: white; border: none; border-radius: 6px;
    padding: 6px 14px; font-size: var(--text-xs); font-weight: 600;
    cursor: pointer; transition: all 0.2s; white-space: nowrap;
    letter-spacing: 0.3px; text-transform: uppercase;
    box-shadow: 0 2px 8px rgba(124, 92, 252, 0.3);
}
.search-view-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(124, 92, 252, 0.5);
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* Progress bar */
.progress-bar {
    height: 4px; background: var(--bg-elevated); border-radius: 2px; overflow: hidden;
}
.progress-fill {
    height: 100%; background: var(--primary); border-radius: 2px;
    transition: width 0.3s ease;
}

/* Status indicators */
.status-indicator {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 2px 8px; border-radius: 4px; font-size: var(--text-xs); font-weight: 500;
}
.status-indicator.success { background: var(--color-positive-bg); color: var(--color-positive); }
.status-indicator.warning { background: var(--color-warning-bg); color: var(--color-warning); }
.status-indicator.error { background: var(--color-negative-bg); color: var(--color-negative); }

/* Help button */
.help-btn {
    background: none; border: none; font-size: 1rem;
    cursor: pointer; padding: 4px; border-radius: 4px;
    color: var(--text-tertiary); transition: color 0.2s;
}
.help-btn:hover { color: var(--text-primary); }

/* Data refresh indicator */
.data-refresh { display: flex; align-items: center; gap: 6px; font-size: var(--text-xs); color: var(--text-muted); }
.pulse-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--color-positive); animation: pulse 2s infinite;
}
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }

/* Tooltip */
[title] { position: relative; }
