/**
 * SentimentOwl Fundamentals Dashboard Styles
 */

/* ==========================================================================
   BASE LAYOUT
   ========================================================================== */

.sowl-fd-wrapper {
    background: #0f172a;
    min-height: 100vh;
    padding: 40px 20px;
}

.sowl-fd-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* ==========================================================================
   HEADER
   ========================================================================== */

.sowl-fd-header {
    text-align: center;
    margin-bottom: 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sowl-fd-header h1 {
    color: #f1f5f9;
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 8px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.sowl-fd-tagline {
    color: #94a3b8;
    font-size: 16px;
    margin: 0;
}

/* Header actions (notification bell) */
.sowl-fd-header-actions {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 12px;
}

.sowl-fd-header-inner {
    position: relative;
    width: 100%;
    max-width: 1200px;
}

/* ==========================================================================
   PRO GATE
   ========================================================================== */

.sowl-fd-pro-gate {
    background: rgba(30, 41, 59, 0.5);
    border: 1px solid rgba(249, 115, 22, 0.3);
    border-radius: 16px;
    padding: 48px 32px;
    text-align: center;
}

.sowl-fd-pro-icon {
    font-size: 48px;
    margin-bottom: 16px;
}

.sowl-fd-pro-gate h2 {
    color: #f1f5f9;
    font-size: 24px;
    margin: 0 0 12px;
}

.sowl-fd-pro-gate p {
    color: #94a3b8;
    margin: 0 0 8px;
    font-size: 15px;
}

.sowl-fd-pro-desc {
    color: #64748b !important;
    font-size: 14px !important;
    max-width: 400px;
    margin: 0 auto 24px !important;
}

.sowl-fd-cta-btn {
    display: inline-block;
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
    color: white;
    padding: 14px 32px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    font-size: 16px;
    transition: transform 0.2s, box-shadow 0.2s;
}

.sowl-fd-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(249, 115, 22, 0.3);
    color: white;
}

/* ==========================================================================
   SECTIONS
   ========================================================================== */

.sowl-fd-section {
    background: rgba(30, 41, 59, 0.5);
    border: 1px solid rgba(148, 163, 184, 0.15);
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 20px;
}

.sowl-fd-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.sowl-fd-section-header-left {
    flex: 1;
}

.sowl-fd-section-title {
    color: #f1f5f9;
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 4px;
}

.sowl-fd-section-desc {
    color: #64748b;
    font-size: 13px;
    margin: 0;
}

.sowl-fd-section-badge {
    background: rgba(249, 115, 22, 0.15);
    color: #f97316;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
}

/* ==========================================================================
   MARKET REGIME
   ========================================================================== */

.sowl-fd-regime {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 24px;
}

.sowl-fd-regime-badge {
    padding: 8px 16px;
    border-radius: 20px;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.sowl-state-risk-on {
    background: rgba(34, 197, 94, 0.15);
    color: #22c55e;
    border: 1px solid rgba(34, 197, 94, 0.3);
}

.sowl-state-risk-off {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.sowl-state-compression {
    background: rgba(251, 191, 36, 0.15);
    color: #fbbf24;
    border: 1px solid rgba(251, 191, 36, 0.3);
}

.sowl-state-volatile {
    background: rgba(249, 115, 22, 0.15);
    color: #f97316;
    border: 1px solid rgba(249, 115, 22, 0.3);
}

.sowl-state-neutral {
    background: rgba(148, 163, 184, 0.15);
    color: #94a3b8;
    border: 1px solid rgba(148, 163, 184, 0.3);
}

.sowl-fd-regime-text {
    color: #94a3b8;
    font-size: 15px;
    margin: 0;
}

/* ==========================================================================
   SETUP CARDS GRID
   ========================================================================== */

.sowl-fd-setups-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}

.sowl-fd-setup-card {
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(148, 163, 184, 0.1);
    border-radius: 10px;
    padding: 16px;
}

.sowl-fd-setup-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.sowl-fd-symbol {
    color: #f1f5f9;
    font-size: 18px;
    font-weight: 700;
}

.sowl-fd-symbol-link {
    color: #f1f5f9;
    text-decoration: none;
    transition: color 0.2s;
}

.sowl-fd-symbol-link:hover {
    color: #f97316;
}

.sowl-fd-conviction {
    color: #22c55e;
    font-size: 20px;
    font-weight: 700;
}

.sowl-fd-conviction-label {
    font-size: 11px;
    font-weight: 500;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
    margin-top: 2px;
}

.sowl-fd-setup-label {
    color: #f97316;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
}

.sowl-fd-setup-explanation {
    color: #94a3b8;
    font-size: 14px;
    margin: 0 0 12px;
    line-height: 1.4;
}

/* ==========================================================================
   BADGES
   ========================================================================== */

.sowl-fd-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sowl-fd-badge {
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}

.sowl-fd-badge-bullish {
    background: rgba(34, 197, 94, 0.15);
    color: #4ade80;
}

.sowl-fd-badge-bearish {
    background: rgba(239, 68, 68, 0.15);
    color: #f87171;
}

.sowl-fd-badge-warning {
    background: rgba(251, 191, 36, 0.15);
    color: #fbbf24;
}

.sowl-fd-badge-neutral {
    background: rgba(148, 163, 184, 0.15);
    color: #94a3b8;
}

/* ==========================================================================
   EMPTY STATE
   ========================================================================== */

.sowl-fd-empty {
    text-align: center;
    padding: 32px;
    color: #64748b;
}

/* ==========================================================================
   WARNINGS SECTION
   ========================================================================== */

.sowl-fd-warnings {
    border-color: rgba(251, 191, 36, 0.2);
}

.sowl-fd-warnings-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sowl-fd-warning-item {
    background: rgba(251, 191, 36, 0.05);
    border-left: 3px solid #fbbf24;
    padding: 12px 16px;
    border-radius: 0 8px 8px 0;
}

.sowl-fd-warning-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}

.sowl-fd-warning-type {
    color: #fbbf24;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.sowl-fd-warning-caution {
    color: #94a3b8;
    font-size: 14px;
    margin: 0;
}

/* ==========================================================================
   HIGH CONVICTION MOVERS (COMPACT)
   ========================================================================== */

.sowl-fd-movers-compact {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.sowl-fd-mover-chip {
    background: rgba(34, 197, 94, 0.1);
    border: 1px solid rgba(34, 197, 94, 0.2);
    border-radius: 8px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.sowl-fd-mover-chip .sowl-fd-symbol {
    font-size: 15px;
}

.sowl-fd-mover-stats {
    color: #64748b;
    font-size: 13px;
}

/* ==========================================================================
   WATCHLIST SECTION
   ========================================================================== */

.sowl-fd-watchlist {
    border-color: rgba(249, 115, 22, 0.3);
}

.sowl-fd-watchlist-empty {
    text-align: center;
    padding: 32px 16px;
}

.sowl-fd-watchlist-empty p {
    color: #64748b;
    margin: 0 0 8px;
}

.sowl-fd-watchlist-empty small {
    color: #475569;
    font-size: 12px;
}

.sowl-fd-watchlist-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
}

/* Enhanced Watchlist Card */
.sowl-fd-watchlist-card {
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(148, 163, 184, 0.15);
    border-radius: 10px;
    padding: 14px;
    transition: all 0.2s ease;
}

.sowl-fd-watchlist-card:hover {
    border-color: rgba(249, 115, 22, 0.4);
    background: rgba(249, 115, 22, 0.05);
    transform: translateY(-2px);
}

.sowl-fd-watchlist-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.sowl-fd-watchlist-symbol {
    color: #f1f5f9;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    transition: color 0.15s;
}

.sowl-fd-watchlist-symbol:hover {
    color: #f97316;
}

.sowl-fd-watchlist-card-body {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.sowl-fd-watchlist-sentiment {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sowl-wl-sparkline {
    min-width: 80px;
    width: 80px;
    height: 24px;
}

.sowl-fd-watchlist-change {
    font-size: 13px;
    font-weight: 600;
}

.sowl-fd-watchlist-change.positive {
    color: #22c55e;
}

.sowl-fd-watchlist-change.negative {
    color: #ef4444;
}

.sowl-fd-watchlist-flow {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(148, 163, 184, 0.1);
    font-size: 12px;
    color: #94a3b8;
}

.sowl-fd-watchlist-flow.flow-accumulation {
    color: #22c55e;
}

.sowl-fd-watchlist-flow.flow-distribution {
    color: #ef4444;
}

/* Legacy watchlist item (fallback) */
.sowl-fd-watchlist-item {
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(148, 163, 184, 0.1);
    border-radius: 8px;
    padding: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sowl-fd-watchlist-item-info {
    flex: 1;
}

.sowl-fd-watchlist-item-symbol {
    color: #f1f5f9;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
}

.sowl-fd-watchlist-item-symbol:hover {
    color: #f97316;
}

.sowl-fd-watchlist-item-score {
    font-size: 13px;
    margin-top: 4px;
}

/* ==========================================================================
   STAR BUTTON (WATCHLIST TOGGLE)
   ========================================================================== */

.sowl-fd-star-btn {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 20px;
    padding: 4px;
    transition: transform 0.2s;
    line-height: 1;
    color: #64748b;
}

.sowl-fd-star-btn:hover {
    transform: scale(1.2);
}

.sowl-fd-star-btn.active {
    color: #fbbf24;
}

.sowl-fd-star-btn.loading {
    opacity: 0.5;
    pointer-events: none;
}

/* ==========================================================================
   FULL SYMBOL TABLE
   ========================================================================== */

.sowl-fd-table-section {
    margin-top: 32px;
}

/* Table controls */
.sowl-fd-table-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
    align-items: center;
}

.sowl-fd-search {
    flex: 1;
    min-width: 200px;
    max-width: 300px;
    position: relative;
}

.sowl-fd-search input {
    width: 100%;
    padding: 10px 12px 10px 36px;
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 8px;
    color: #f1f5f9;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
}

.sowl-fd-search input:focus {
    border-color: rgba(249, 115, 22, 0.5);
}

.sowl-fd-search input::placeholder {
    color: #64748b;
}

.sowl-fd-search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #64748b;
    font-size: 14px;
}

/* Filter toggles */
.sowl-fd-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sowl-fd-filter-btn {
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 6px;
    padding: 8px 12px;
    color: #94a3b8;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s;
}

.sowl-fd-filter-btn:hover {
    border-color: rgba(148, 163, 184, 0.4);
}

.sowl-fd-filter-btn.active {
    background: rgba(249, 115, 22, 0.15);
    border-color: rgba(249, 115, 22, 0.3);
    color: #f97316;
}

/* Table wrapper */
.sowl-fd-table-wrapper {
    overflow-x: auto;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.4);
}

/* Table */
.sowl-fd-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.sowl-fd-table th,
.sowl-fd-table td {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid rgba(148, 163, 184, 0.1);
}

.sowl-fd-table th {
    background: rgba(30, 41, 59, 0.5);
    color: #94a3b8;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

.sowl-fd-table th:hover {
    background: rgba(30, 41, 59, 0.8);
}

.sowl-fd-table th.sorted-asc::after {
    content: ' ▲';
    font-size: 10px;
}

.sowl-fd-table th.sorted-desc::after {
    content: ' ▼';
    font-size: 10px;
}

.sowl-fd-table th.no-sort {
    cursor: default;
}

.sowl-fd-table th.no-sort:hover {
    background: rgba(30, 41, 59, 0.5);
}

.sowl-fd-table tbody tr {
    transition: background-color 0.15s;
}

.sowl-fd-table tbody tr:hover {
    background: rgba(30, 41, 59, 0.3);
}

.sowl-fd-table td {
    color: #e2e8f0;
}

/* Table cell variants */
.sowl-fd-table-symbol {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sowl-fd-table-symbol a {
    color: #f1f5f9;
    text-decoration: none;
    font-weight: 600;
}

.sowl-fd-table-symbol a:hover {
    color: #f97316;
}

/* Sentiment score cell */
.sowl-fd-score {
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
    min-width: 40px;
    text-align: center;
}

.sowl-fd-score.bullish {
    background: rgba(34, 197, 94, 0.15);
    color: #4ade80;
}

.sowl-fd-score.bearish {
    background: rgba(239, 68, 68, 0.15);
    color: #f87171;
}

.sowl-fd-score.neutral {
    background: rgba(148, 163, 184, 0.15);
    color: #94a3b8;
}

/* Price change cell */
.sowl-fd-change {
    font-weight: 500;
}

.sowl-fd-change.positive {
    color: #4ade80;
}

.sowl-fd-change.negative {
    color: #f87171;
}

/* Volume state cell */
.sowl-fd-volume {
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 4px;
}

.sowl-fd-volume.surge {
    background: rgba(34, 197, 94, 0.15);
    color: #4ade80;
}

.sowl-fd-volume.elevated {
    background: rgba(34, 197, 94, 0.1);
    color: #86efac;
}

.sowl-fd-volume.normal {
    background: rgba(148, 163, 184, 0.1);
    color: #94a3b8;
}

.sowl-fd-volume.low {
    background: rgba(239, 68, 68, 0.1);
    color: #fca5a5;
}

/* Flow direction cell */
.sowl-fd-flow {
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 4px;
}

.sowl-fd-flow.accumulation {
    background: rgba(34, 197, 94, 0.15);
    color: #4ade80;
}

.sowl-fd-flow.distribution {
    background: rgba(239, 68, 68, 0.15);
    color: #f87171;
}

.sowl-fd-flow.neutral {
    background: rgba(148, 163, 184, 0.1);
    color: #94a3b8;
}

/* Conviction cell */
.sowl-fd-conv {
    font-weight: 600;
}

.sowl-fd-conv.high {
    color: #4ade80;
}

.sowl-fd-conv.medium {
    color: #fbbf24;
}

.sowl-fd-conv.low {
    color: #94a3b8;
}

/* Momentum cell */
.sowl-fd-momentum {
    font-size: 12px;
}

.sowl-fd-momentum.bullish {
    color: #4ade80;
}

.sowl-fd-momentum.bearish {
    color: #f87171;
}

.sowl-fd-momentum.neutral {
    color: #94a3b8;
}

/* News headline cell */
.sowl-fd-news-cell {
    max-width: 250px;
}

.sowl-fd-news-headline {
    font-size: 12px;
    color: #94a3b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

.sowl-fd-news-headline:hover {
    color: #f1f5f9;
}

.sowl-fd-news-badge {
    display: inline-block;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 3px;
    margin-right: 6px;
    font-weight: 600;
}

.sowl-fd-news-badge.bullish {
    background: rgba(34, 197, 94, 0.15);
    color: #4ade80;
}

.sowl-fd-news-badge.bearish {
    background: rgba(239, 68, 68, 0.15);
    color: #f87171;
}

.sowl-fd-news-badge.neutral {
    background: rgba(148, 163, 184, 0.15);
    color: #94a3b8;
}

/* Pagination */
.sowl-fd-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    padding: 16px;
}

.sowl-fd-pagination-btn {
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 6px;
    padding: 8px 16px;
    color: #94a3b8;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s;
}

.sowl-fd-pagination-btn:hover:not(:disabled) {
    border-color: rgba(249, 115, 22, 0.3);
    color: #f97316;
}

.sowl-fd-pagination-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.sowl-fd-pagination-info {
    color: #64748b;
    font-size: 13px;
}

/* Loading state */
.sowl-fd-loading {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px;
    color: #64748b;
}

.sowl-fd-loading::after {
    content: '';
    width: 24px;
    height: 24px;
    border: 2px solid rgba(249, 115, 22, 0.3);
    border-top-color: #f97316;
    border-radius: 50%;
    animation: sowl-spin 0.8s linear infinite;
    margin-left: 12px;
}

@keyframes sowl-spin {
    to { transform: rotate(360deg); }
}

/* Table loading overlay */
.sowl-fd-table-loading {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 60px 20px;
    background: rgba(15, 23, 42, 0.8);
    border-radius: 8px;
    margin-bottom: 16px;
}

.sowl-fd-table-loading p {
    color: #94a3b8;
    font-size: 15px;
    margin: 16px 0 0;
}

.sowl-fd-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid rgba(249, 115, 22, 0.2);
    border-top-color: #f97316;
    border-radius: 50%;
    animation: sowl-spin 0.8s linear infinite;
}

.sowl-fd-table-wrapper {
    transition: opacity 0.2s ease-out;
}

/* ==========================================================================
   NOTIFICATION BELL
   ========================================================================== */

.sowl-fd-notification-bell {
    position: relative;
    cursor: pointer;
}

.sowl-fd-bell-btn {
    background: rgba(30, 41, 59, 0.5);
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 8px;
    padding: 10px 12px;
    color: #94a3b8;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 6px;
}

.sowl-fd-bell-btn:hover {
    border-color: rgba(148, 163, 184, 0.4);
    color: #f1f5f9;
}

.sowl-fd-bell-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    background: #ef4444;
    color: white;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 10px;
    min-width: 18px;
    text-align: center;
}

.sowl-fd-bell-badge.hidden {
    display: none;
}

/* Notification dropdown */
.sowl-fd-notification-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 360px;
    max-height: 480px;
    background: #1e293b;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    z-index: 1000;
    display: none;
}

.sowl-fd-notification-dropdown.open {
    display: block;
}

.sowl-fd-notification-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.1);
}

.sowl-fd-notification-header h3 {
    margin: 0;
    color: #f1f5f9;
    font-size: 15px;
}

.sowl-fd-mark-all-read {
    background: none;
    border: none;
    color: #f97316;
    font-size: 12px;
    cursor: pointer;
}

.sowl-fd-mark-all-read:hover {
    text-decoration: underline;
}

.sowl-fd-notification-list {
    max-height: 380px;
    overflow-y: auto;
}

.sowl-fd-notification-item {
    padding: 12px 16px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.08);
    cursor: pointer;
    transition: background-color 0.15s;
}

.sowl-fd-notification-item:hover {
    background: rgba(30, 41, 59, 0.5);
}

.sowl-fd-notification-item.unread {
    background: rgba(249, 115, 22, 0.05);
    border-left: 3px solid #f97316;
}

.sowl-fd-notification-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}

.sowl-fd-notification-symbol {
    color: #f1f5f9;
    font-weight: 600;
    font-size: 14px;
}

.sowl-fd-notification-time {
    color: #64748b;
    font-size: 11px;
}

.sowl-fd-notification-trigger {
    color: #94a3b8;
    font-size: 12px;
    margin-bottom: 4px;
}

.sowl-fd-notification-message {
    color: #64748b;
    font-size: 12px;
}

.sowl-fd-notification-empty {
    padding: 32px 16px;
    text-align: center;
    color: #64748b;
}

.sowl-fd-notification-footer {
    padding: 12px 16px;
    border-top: 1px solid rgba(148, 163, 184, 0.1);
    text-align: center;
}

.sowl-fd-notification-footer a {
    color: #f97316;
    font-size: 13px;
    text-decoration: none;
}

.sowl-fd-notification-footer a:hover {
    text-decoration: underline;
}

/* ==========================================================================
   NOTIFICATION SETTINGS PANEL
   ========================================================================== */

.sowl-fd-settings-btn {
    background: none;
    border: none;
    color: #64748b;
    cursor: pointer;
    font-size: 16px;
    padding: 4px;
}

.sowl-fd-settings-btn:hover {
    color: #94a3b8;
}

.sowl-fd-settings-panel {
    background: rgba(15, 23, 42, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 12px;
    padding: 24px;
    margin-top: 16px;
    display: none;
}

.sowl-fd-settings-panel.open {
    display: block;
}

.sowl-fd-settings-panel h3 {
    color: #f1f5f9;
    font-size: 16px;
    margin: 0 0 20px;
}

.sowl-fd-settings-group {
    margin-bottom: 20px;
}

.sowl-fd-settings-group-title {
    color: #94a3b8;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}

.sowl-fd-toggle-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.08);
}

.sowl-fd-toggle-row:last-child {
    border-bottom: none;
}

.sowl-fd-toggle-label {
    color: #e2e8f0;
    font-size: 14px;
}

.sowl-fd-toggle-desc {
    color: #64748b;
    font-size: 12px;
    margin-top: 2px;
}

/* Toggle switch */
.sowl-fd-toggle {
    position: relative;
    width: 44px;
    height: 24px;
}

.sowl-fd-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}

.sowl-fd-toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(148, 163, 184, 0.2);
    border-radius: 24px;
    transition: background-color 0.2s;
}

.sowl-fd-toggle-slider::before {
    content: '';
    position: absolute;
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background: #f1f5f9;
    border-radius: 50%;
    transition: transform 0.2s;
}

.sowl-fd-toggle input:checked + .sowl-fd-toggle-slider {
    background: #f97316;
}

.sowl-fd-toggle input:checked + .sowl-fd-toggle-slider::before {
    transform: translateX(20px);
}

/* Radio buttons for frequency */
.sowl-fd-radio-group {
    display: flex;
    gap: 16px;
}

.sowl-fd-radio {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.sowl-fd-radio input {
    appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(148, 163, 184, 0.3);
    border-radius: 50%;
    cursor: pointer;
    position: relative;
}

.sowl-fd-radio input:checked {
    border-color: #f97316;
}

.sowl-fd-radio input:checked::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 8px;
    height: 8px;
    background: #f97316;
    border-radius: 50%;
}

.sowl-fd-radio span {
    color: #e2e8f0;
    font-size: 14px;
}

/* Settings save button */
.sowl-fd-settings-save {
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
    border: none;
    color: white;
    padding: 10px 20px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}

.sowl-fd-settings-save:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(249, 115, 22, 0.3);
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

.sowl-fd-footer {
    text-align: center;
    padding: 20px;
    color: #475569;
    font-size: 13px;
}

.sowl-fd-footer p {
    margin: 0;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 768px) {
    .sowl-fd-wrapper {
        padding: 20px 12px;
    }

    .sowl-fd-header h1 {
        font-size: 24px;
    }

    .sowl-fd-regime {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }

    .sowl-fd-setups-grid {
        grid-template-columns: 1fr;
    }

    .sowl-fd-section {
        padding: 16px;
    }

    .sowl-fd-table-controls {
        flex-direction: column;
        align-items: stretch;
    }

    .sowl-fd-search {
        max-width: none;
    }

    .sowl-fd-table th,
    .sowl-fd-table td {
        padding: 8px 12px;
        font-size: 13px;
    }

    .sowl-fd-table th {
        font-size: 11px;
    }

    /* Hide some columns on mobile */
    .sowl-fd-table .hide-mobile {
        display: none;
    }

    .sowl-fd-notification-dropdown {
        width: 300px;
        right: -80px;
    }
}

@media (max-width: 480px) {
    .sowl-fd-notification-dropdown {
        position: fixed;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-height: 70vh;
        border-radius: 12px 12px 0 0;
    }
}

/* ==========================================================================
   ENHANCED TABLE STYLES - Flagship Product v2.0
   ========================================================================== */

/* Status bar */
.sowl-fd-status-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background: rgba(30, 41, 59, 0.5);
    border: 1px solid rgba(148, 163, 184, 0.15);
    border-radius: 8px;
    margin-bottom: 16px;
}

.sowl-fd-last-updated {
    color: #64748b;
    font-size: 13px;
}

.sowl-fd-refresh-btn {
    background: transparent;
    border: 1px solid rgba(148, 163, 184, 0.2);
    color: #94a3b8;
    padding: 8px 14px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 13px;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 6px;
}

.sowl-fd-refresh-btn:hover {
    background: rgba(249, 115, 22, 0.1);
    border-color: #f97316;
    color: #f97316;
}

.sowl-fd-refresh-btn.spinning {
    animation: sowl-spin 1s linear infinite;
    pointer-events: none;
    opacity: 0.7;
}

/* Clickable rows */
.sowl-fd-table tbody tr {
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.sowl-fd-table tbody tr:hover {
    background: rgba(249, 115, 22, 0.08) !important;
}

.sowl-fd-table tbody tr:hover .sowl-fd-asset-name {
    color: #f97316;
}

.sowl-fd-table tbody tr:hover .sowl-fd-asset-name::after {
    content: ' →';
    opacity: 1;
    color: #f97316;
}

.sowl-fd-asset-name::after {
    content: ' →';
    opacity: 0;
    transition: opacity 0.2s ease;
}

/* Asset cell with watchlist */
.sowl-fd-asset-cell {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sowl-fd-watchlist-btn {
    background: none;
    border: none;
    color: #475569;
    font-size: 16px;
    cursor: pointer;
    padding: 4px;
    transition: color 0.15s, transform 0.15s;
}

.sowl-fd-watchlist-btn:hover {
    color: #fbbf24;
    transform: scale(1.2);
}

.sowl-fd-watchlist-btn.active {
    color: #fbbf24;
}

.sowl-fd-asset-info {
    display: flex;
    flex-direction: column;
}

.sowl-fd-asset-name {
    color: #f1f5f9;
    font-weight: 600;
    font-size: 14px;
    transition: color 0.15s;
}

.sowl-fd-asset-symbol {
    color: #64748b;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Market structure indicators */
.sowl-fd-indicators {
    display: inline-flex;
    gap: 4px;
    margin-left: 4px;
}

.sowl-fd-indicator {
    font-size: 11px;
    cursor: help;
    opacity: 0.85;
    transition: opacity 0.15s, transform 0.15s;
}

.sowl-fd-indicator:hover {
    opacity: 1;
    transform: scale(1.2);
}

.indicator-divergence { filter: drop-shadow(0 0 2px rgba(251, 191, 36, 0.5)); }
.indicator-volume_surge { filter: drop-shadow(0 0 2px rgba(34, 197, 94, 0.5)); }
.indicator-outperform { filter: drop-shadow(0 0 2px rgba(96, 165, 250, 0.5)); }
.indicator-volatile { filter: drop-shadow(0 0 2px rgba(251, 146, 60, 0.5)); }

/* Sentiment cell with sparkline */
.sowl-fd-sentiment-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 160px;
}

.sowl-fd-score {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 13px;
    min-width: 36px;
    text-align: center;
}

.sowl-fd-score.score-high {
    background: rgba(34, 197, 94, 0.2);
    color: #22c55e;
}

.sowl-fd-score.score-good {
    background: rgba(74, 222, 128, 0.2);
    color: #4ade80;
}

.sowl-fd-score.score-neutral {
    background: rgba(251, 191, 36, 0.2);
    color: #fbbf24;
}

.sowl-fd-score.score-low {
    background: rgba(251, 146, 60, 0.2);
    color: #fb923c;
}

.sowl-fd-score.score-very-low {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
}

.sowl-fd-score.score-na {
    background: rgba(148, 163, 184, 0.2);
    color: #94a3b8;
}

.sowl-fd-sparkline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    min-width: 100px;
    min-height: 30px;
    width: 100px;
    height: 30px;
    color: #475569;
    font-size: 12px;
}

/* Sparkline canvas needs proper rendering */
.sowl-fd-sparkline canvas {
    vertical-align: middle;
}

/* Chart link - clickable sparkline to view full chart */
.sowl-fd-chart-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    position: relative;
    text-decoration: none;
    transition: opacity 0.2s;
}

.sowl-fd-chart-link:hover {
    opacity: 0.8;
}

.sowl-fd-chart-icon {
    font-size: 14px;
    opacity: 0;
    transition: opacity 0.2s;
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
}

.sowl-fd-chart-link:hover .sowl-fd-chart-icon {
    opacity: 1;
}

/* Watchlist chart link styling */
.sowl-fd-watchlist-sentiment .sowl-fd-chart-link {
    display: flex;
    align-items: center;
}

.sowl-fd-watchlist-sentiment .sowl-fd-chart-icon {
    position: static;
    transform: none;
    opacity: 0.5;
    font-size: 12px;
}

.sowl-fd-watchlist-sentiment .sowl-fd-chart-link:hover .sowl-fd-chart-icon {
    opacity: 1;
}

/* Override jqstooltip styling for sparkline tooltips */
.jqstooltip {
    background-color: rgba(30, 41, 59, 0.95) !important;
    border: 1px solid rgba(148, 163, 184, 0.2) !important;
    border-radius: 6px !important;
    padding: 6px 10px !important;
    font-size: 12px !important;
    color: #f1f5f9 !important;
    box-sizing: border-box !important;
}

/* Change colors */
.change-positive {
    color: #22c55e;
    font-weight: 600;
}

.change-negative {
    color: #ef4444;
    font-weight: 600;
}

.change-neutral {
    color: #64748b;
}

/* Volume badge */
.sowl-fd-volume-badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
}

.sowl-fd-volume-badge.volume-surge {
    background: rgba(34, 197, 94, 0.15);
    color: #22c55e;
}

.sowl-fd-volume-badge.volume-high {
    background: rgba(74, 222, 128, 0.15);
    color: #4ade80;
}

.sowl-fd-volume-badge.volume-normal {
    background: rgba(148, 163, 184, 0.1);
    color: #94a3b8;
}

.sowl-fd-volume-badge.volume-low {
    background: rgba(239, 68, 68, 0.1);
    color: #f87171;
}

/* Conviction badge */
.sowl-fd-conviction-badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
}

.sowl-fd-conviction-badge.conviction-very-high {
    background: rgba(34, 197, 94, 0.15);
    color: #22c55e;
}

.sowl-fd-conviction-badge.conviction-high {
    background: rgba(74, 222, 128, 0.15);
    color: #4ade80;
}

.sowl-fd-conviction-badge.conviction-medium {
    background: rgba(251, 191, 36, 0.15);
    color: #fbbf24;
}

.sowl-fd-conviction-badge.conviction-low {
    background: rgba(148, 163, 184, 0.1);
    color: #94a3b8;
}

.sowl-fd-conviction-badge.conviction-na {
    background: rgba(148, 163, 184, 0.1);
    color: #64748b;
}

/* Flow badge */
.sowl-fd-flow-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
}

.sowl-fd-flow-badge.flow-accumulation {
    background: rgba(34, 197, 94, 0.15);
    color: #22c55e;
}

.sowl-fd-flow-badge.flow-distribution {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
}

.sowl-fd-flow-badge.flow-neutral {
    background: rgba(148, 163, 184, 0.1);
    color: #94a3b8;
}

/* Momentum badge */
.sowl-fd-momentum-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
}

.sowl-fd-momentum-badge.momentum-bullish {
    background: rgba(34, 197, 94, 0.15);
    color: #22c55e;
}

.sowl-fd-momentum-badge.momentum-bearish {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
}

.sowl-fd-momentum-badge.momentum-neutral {
    background: rgba(148, 163, 184, 0.1);
    color: #94a3b8;
}

/* News link */
.sowl-fd-news-link {
    color: #94a3b8;
    text-decoration: none;
    font-size: 12px;
    display: inline-block;
    max-width: 200px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color 0.15s;
}

.sowl-fd-news-link:hover {
    color: #f97316;
    text-decoration: underline;
}

.sowl-fd-news-link.news-bullish { color: #4ade80; }
.sowl-fd-news-link.news-bearish { color: #f87171; }
.sowl-fd-news-link.news-neutral { color: #94a3b8; }

.sowl-fd-no-news {
    color: #475569;
}

/* Empty and error states */
.sowl-fd-empty,
.sowl-fd-error {
    text-align: center;
    padding: 40px 20px;
    color: #64748b;
}

.sowl-fd-error {
    color: #f87171;
}

.sowl-fd-error-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.sowl-fd-retry-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.sowl-fd-retry-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(249, 115, 22, 0.3);
}

.sowl-fd-retry-btn:active {
    transform: translateY(0);
}

/* Error CTA for non-logged-in users */
.sowl-fd-error-cta {
    background: linear-gradient(145deg, rgba(26, 26, 46, 0.8) 0%, rgba(37, 37, 64, 0.8) 100%);
    border-radius: 12px;
}

.sowl-fd-error-cta .sowl-fd-error-content {
    padding: 20px;
}

.sowl-fd-error-cta .sowl-fd-error-icon {
    font-size: 48px;
    margin-bottom: 8px;
}

.sowl-fd-error-cta p {
    color: #e2e8f0;
    font-size: 16px;
    margin: 0;
}

.sowl-fd-error-btn {
    display: inline-block;
    padding: 12px 24px;
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
    color: #fff;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.2s;
}

.sowl-fd-error-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(249, 115, 22, 0.4);
    color: #fff;
}

/* Watchlist section enhancements */
.sowl-fd-watchlist-items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sowl-fd-watchlist-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: rgba(30, 41, 59, 0.5);
    border: 1px solid rgba(148, 163, 184, 0.15);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s;
}

.sowl-fd-watchlist-item:hover {
    border-color: rgba(249, 115, 22, 0.3);
    background: rgba(249, 115, 22, 0.05);
}

.sowl-fd-wl-symbol {
    color: #f1f5f9;
    font-weight: 600;
    font-size: 13px;
}

.sowl-fd-wl-score {
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
}

.sowl-fd-wl-change {
    font-size: 12px;
}

.sowl-fd-wl-remove {
    background: none;
    border: none;
    color: #64748b;
    font-size: 16px;
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
    transition: color 0.15s;
}

.sowl-fd-wl-remove:hover {
    color: #ef4444;
}

.sowl-fd-watchlist-empty {
    color: #64748b;
    font-size: 13px;
    padding: 12px 0;
}

/* Insight section cards */
.sowl-fd-card-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.sowl-fd-setup-card,
.sowl-fd-divergence-card,
.sowl-fd-mover-card {
    padding: 12px 14px;
    background: rgba(30, 41, 59, 0.5);
    border: 1px solid rgba(148, 163, 184, 0.15);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s;
}

.sowl-fd-setup-card:hover,
.sowl-fd-divergence-card:hover,
.sowl-fd-mover-card:hover {
    border-color: rgba(249, 115, 22, 0.3);
    background: rgba(249, 115, 22, 0.05);
}

.sowl-fd-setup-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}

.sowl-fd-setup-symbol,
.sowl-fd-div-symbol,
.sowl-fd-mover-symbol {
    color: #f1f5f9;
    font-weight: 600;
    font-size: 14px;
}

.sowl-fd-setup-score,
.sowl-fd-div-score {
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}

.sowl-fd-setup-meta {
    display: flex;
    gap: 12px;
    font-size: 11px;
    color: #94a3b8;
}

.sowl-fd-div-type {
    font-size: 12px;
    margin: 0 8px;
}

.sowl-fd-mover-change {
    margin: 0 10px;
}

.sowl-fd-mover-conviction {
    font-size: 11px;
    color: #94a3b8;
}

.sowl-fd-empty-state {
    color: #64748b;
    font-size: 13px;
    padding: 8px 0;
}

/* Sort indicators */
.sowl-fd-table th[data-sort] {
    position: relative;
    padding-right: 20px;
}

.sowl-fd-table th[data-sort]::after {
    content: '⇅';
    position: absolute;
    right: 6px;
    opacity: 0.3;
    font-size: 10px;
}

.sowl-fd-table th[data-sort].sort-asc::after {
    content: '↑';
    opacity: 1;
    color: #f97316;
}

.sowl-fd-table th[data-sort].sort-desc::after {
    content: '↓';
    opacity: 1;
    color: #f97316;
}

/* Mobile responsive enhancements */
@media (max-width: 768px) {
    .sowl-fd-status-bar {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .sowl-fd-sentiment-cell {
        flex-direction: column;
        gap: 4px;
    }

    .sowl-fd-sparkline {
        display: none !important;
    }

    .sowl-fd-sentiment-cell {
        justify-content: flex-start;
    }

    .sowl-fd-indicators {
        display: none;
    }

    .sowl-fd-asset-name::after {
        display: none;
    }

    .sowl-fd-watchlist-items {
        flex-direction: column;
    }

    .sowl-fd-watchlist-item {
        width: 100%;
        justify-content: space-between;
    }
}

/* ==========================================================================
   DASHBOARD V3.0 — MARKET PULSE STRIP
   ========================================================================== */

.sowl-fd-pulse {
    padding: 20px 24px;
}

.sowl-fd-pulse-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.sowl-fd-pulse-kpi {
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(148, 163, 184, 0.1);
    border-radius: 10px;
    padding: 16px;
}

.sowl-fd-pulse-label {
    color: #64748b;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.sowl-fd-pulse-value {
    color: #f1f5f9;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 8px;
}

.sowl-fd-pulse-gauge {
    height: 6px;
    background: rgba(148, 163, 184, 0.15);
    border-radius: 3px;
    overflow: hidden;
}

.sowl-fd-pulse-gauge-fill {
    height: 100%;
    border-radius: 3px;
    transition: width 0.6s ease;
}

.sowl-fd-pulse-split {
    margin-top: 4px;
}

.sowl-fd-pulse-split-bar {
    height: 8px;
    background: rgba(239, 68, 68, 0.3);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 6px;
}

.sowl-fd-pulse-split-bull {
    height: 100%;
    background: rgba(34, 197, 94, 0.7);
    border-radius: 4px 0 0 4px;
}

.sowl-fd-pulse-split-labels {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
}

.sowl-fd-pulse-bull {
    color: #22c55e;
    font-weight: 600;
}

.sowl-fd-pulse-bear {
    color: #ef4444;
    font-weight: 600;
}

.sowl-fd-pulse-regime {
    margin-bottom: 6px;
}

.sowl-fd-pulse-regime .sowl-fd-regime-badge {
    font-size: 12px;
    padding: 4px 10px;
}

.sowl-fd-pulse-interp {
    color: #94a3b8;
    font-size: 12px;
    line-height: 1.4;
}

.sowl-fd-pulse-btc {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 4px;
}

.sowl-fd-pulse-btc-score {
    font-size: 28px;
    font-weight: 700;
    color: #f1f5f9;
}

.sowl-fd-pulse-btc-arrow {
    font-size: 20px;
    font-weight: 700;
}

.sowl-fd-pulse-btc-arrow.momentum-bullish {
    color: #22c55e;
}

.sowl-fd-pulse-btc-arrow.momentum-bearish {
    color: #ef4444;
}

.sowl-fd-pulse-btc-arrow.momentum-neutral {
    color: #94a3b8;
}

/* Pulse responsive */
@media (max-width: 1024px) {
    .sowl-fd-pulse-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .sowl-fd-pulse-grid {
        grid-template-columns: 1fr;
    }
    .sowl-fd-pulse-value {
        font-size: 24px;
    }
}

/* ==========================================================================
   DASHBOARD V3.0 — ANCHOR COINS PANEL
   ========================================================================== */

.sowl-fd-anchors-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.sowl-fd-anchor-card {
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(148, 163, 184, 0.1);
    border-radius: 10px;
    padding: 16px;
}

.sowl-fd-anchor-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.sowl-fd-anchor-symbol {
    color: #f1f5f9;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s;
}

.sowl-fd-anchor-symbol:hover {
    color: #f97316;
}

.sowl-fd-anchor-sparkline {
    margin-bottom: 12px;
}

.sowl-anchor-sparkline {
    min-width: 120px;
    width: 120px;
    height: 30px;
}

.sowl-fd-anchor-metrics {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sowl-fd-anchor-metric {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sowl-fd-anchor-metric-label {
    color: #64748b;
    font-size: 12px;
}

.sowl-fd-anchor-metric-val {
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 4px;
}

.sowl-fd-anchor-metric-val.vol-expanding {
    color: #f97316;
}

.sowl-fd-anchor-metric-val.vol-contracting {
    color: #60a5fa;
}

.sowl-fd-anchor-metric-val.vol-normal {
    color: #94a3b8;
}

@media (max-width: 640px) {
    .sowl-fd-anchors-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   DASHBOARD V3.0 — ENHANCED BEST SETUPS
   ========================================================================== */

.sowl-fd-setup-card.setup-tier-1 {
    border-left: 3px solid #22c55e;
}

.sowl-fd-setup-header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sowl-fd-setup-sparkline-row {
    margin: 8px 0;
}

.sowl-setup-sparkline {
    min-width: 80px;
    width: 80px;
    height: 20px;
}

.sowl-fd-sentiment-change {
    font-size: 12px;
    font-weight: 600;
}

.sowl-fd-sentiment-change.positive {
    color: #22c55e;
}

.sowl-fd-sentiment-change.negative {
    color: #ef4444;
}

/* ==========================================================================
   DASHBOARD V3.0 — TOP MOVERS STRIP
   ========================================================================== */

.sowl-fd-top-movers {
    /* inherits .sowl-fd-section */
}

.sowl-fd-mover-direction {
    margin-bottom: 12px;
}

.sowl-fd-mover-direction:last-child {
    margin-bottom: 0;
}

.sowl-fd-mover-dir-label {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.sowl-fd-mover-dir-label.bullish {
    color: #22c55e;
}

.sowl-fd-mover-dir-label.bearish {
    color: #ef4444;
}

.sowl-fd-mover-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sowl-fd-mover-chip-enhanced {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s;
    font-size: 13px;
}

.sowl-fd-mover-chip-enhanced.bullish {
    background: rgba(34, 197, 94, 0.1);
    border: 1px solid rgba(34, 197, 94, 0.2);
}

.sowl-fd-mover-chip-enhanced.bullish:hover {
    background: rgba(34, 197, 94, 0.2);
    border-color: rgba(34, 197, 94, 0.4);
}

.sowl-fd-mover-chip-enhanced.bearish {
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.2);
}

.sowl-fd-mover-chip-enhanced.bearish:hover {
    background: rgba(239, 68, 68, 0.2);
    border-color: rgba(239, 68, 68, 0.4);
}

.sowl-fd-mover-sym {
    font-weight: 700;
    color: #f1f5f9;
}

.sowl-fd-mover-delta {
    font-weight: 600;
}

.sowl-fd-mover-chip-enhanced.bullish .sowl-fd-mover-delta {
    color: #22c55e;
}

.sowl-fd-mover-chip-enhanced.bearish .sowl-fd-mover-delta {
    color: #ef4444;
}

.sowl-fd-mover-curr {
    color: #64748b;
    font-size: 11px;
}

/* ==========================================================================
   DASHBOARD V3.0 — ENHANCED DIVERGENCE WARNINGS (SEVERITY)
   ========================================================================== */

.sowl-fd-warning-item.severity-high {
    border-left-color: #ef4444;
    background: rgba(239, 68, 68, 0.05);
}

.sowl-fd-warning-item.severity-medium {
    border-left-color: #f97316;
    background: rgba(249, 115, 22, 0.05);
}

.sowl-fd-warning-item.severity-low {
    border-left-color: #fbbf24;
    background: rgba(251, 191, 36, 0.05);
}

.sowl-fd-warning-header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sowl-fd-warning-header-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sowl-fd-severity-badge {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 2px 8px;
    border-radius: 4px;
}

.sowl-fd-severity-badge.severity-high {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
}

.sowl-fd-severity-badge.severity-medium {
    background: rgba(249, 115, 22, 0.2);
    color: #f97316;
}

.sowl-fd-severity-badge.severity-low {
    background: rgba(251, 191, 36, 0.2);
    color: #fbbf24;
}

/* ==========================================================================
   DASHBOARD V3.0 — HIGH CONVICTION MINI-CARDS
   ========================================================================== */

.sowl-fd-movers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
}

.sowl-fd-hc-card {
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(148, 163, 184, 0.1);
    border-radius: 10px;
    padding: 14px;
    transition: all 0.2s;
}

.sowl-fd-hc-card:hover {
    border-color: rgba(34, 197, 94, 0.3);
    background: rgba(34, 197, 94, 0.05);
}

.sowl-fd-hc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.sowl-fd-hc-sparkline {
    margin-bottom: 8px;
}

.sowl-mover-sparkline {
    min-width: 80px;
    width: 80px;
    height: 20px;
}

.sowl-fd-hc-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 12px;
    color: #94a3b8;
}

.sowl-fd-hc-conviction {
    color: #4ade80;
    font-weight: 600;
}

.sowl-fd-hc-flow {
    font-size: 11px;
}

/* ==========================================================================
   DASHBOARD V3.0 — WATCHLIST ENHANCEMENTS
   ========================================================================== */

.sowl-fd-watchlist-alert-summary {
    display: inline-block;
    font-size: 12px;
    color: #f97316;
    font-weight: 600;
    margin-top: 4px;
}

.sowl-fd-watchlist-changes {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

/* ==========================================================================
   DASHBOARD V3.0 — TABLE ROW HIGHLIGHTS
   ========================================================================== */

.sowl-fd-table tbody tr.row-highlight-setup {
    border-left: 3px solid #22c55e;
}

.sowl-fd-table tbody tr.row-highlight-divergence {
    border-left: 3px solid #fbbf24;
}

.sowl-fd-table tbody tr.row-highlight-conviction {
    border-left: 3px solid #60a5fa;
}

/* ==========================================================================
   DASHBOARD V3.0 — MOBILE CARD LAYOUT (≤640px)
   ========================================================================== */

@media (max-width: 640px) {
    /* Convert table to card layout on small screens */
    .sowl-fd-table,
    .sowl-fd-table thead,
    .sowl-fd-table tbody,
    .sowl-fd-table th,
    .sowl-fd-table td,
    .sowl-fd-table tr {
        display: block;
    }

    .sowl-fd-table thead {
        display: none;
    }

    .sowl-fd-table tbody tr {
        background: rgba(15, 23, 42, 0.6);
        border: 1px solid rgba(148, 163, 184, 0.1);
        border-radius: 10px;
        padding: 14px;
        margin-bottom: 10px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .sowl-fd-table tbody tr.row-highlight-setup {
        border-left: 3px solid #22c55e;
    }

    .sowl-fd-table tbody tr.row-highlight-divergence {
        border-left: 3px solid #fbbf24;
    }

    .sowl-fd-table tbody tr.row-highlight-conviction {
        border-left: 3px solid #60a5fa;
    }

    .sowl-fd-table td {
        border: none;
        padding: 4px 0;
    }

    .sowl-fd-table td.sowl-fd-col-asset {
        grid-column: 1 / -1;
    }

    .sowl-fd-table td.sowl-fd-col-sentiment {
        grid-column: 1 / -1;
    }

    /* Show momentum and news on mobile cards */
    .sowl-fd-table td.hide-mobile {
        display: block;
    }

    .sowl-fd-table td.sowl-fd-col-news {
        grid-column: 1 / -1;
        font-size: 12px;
    }

    .sowl-fd-table td.sowl-fd-col-momentum {
        grid-column: 1 / -1;
    }

    .sowl-fd-table td::before {
        display: block;
        font-size: 10px;
        color: #64748b;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 2px;
    }

    .sowl-fd-table td.sowl-fd-col-price::before { content: 'Price'; }
    .sowl-fd-table td.sowl-fd-col-change::before { content: '24h Change'; }
    .sowl-fd-table td.sowl-fd-col-volume::before { content: 'Volume'; }
    .sowl-fd-table td.sowl-fd-col-conviction::before { content: 'Conviction'; }
    .sowl-fd-table td.sowl-fd-col-flow::before { content: 'Flow'; }
    .sowl-fd-table td.sowl-fd-col-momentum::before { content: 'Momentum'; }

    /* Show sparklines on mobile cards */
    .sowl-fd-table .sowl-fd-sparkline {
        display: inline-flex !important;
        min-width: 60px;
        width: 60px;
        height: 20px;
    }

    /* Movers and setups adjustments */
    .sowl-fd-mover-chips {
        flex-direction: column;
    }

    .sowl-fd-movers-grid {
        grid-template-columns: 1fr;
    }
}
