/**
 * Newsroom Terminal Styles
 * Premium two-panel news reader with institutional styling
 *
 * Color Palette:
 * - Navy: #0a1628, #0f2137, #1a3a5c
 * - Blue: #1d4ed8, #2563eb, #3b82f6, #60a5fa
 * - Cream: #fefdfb, #faf8f5, #f5f2ed
 * - Gray: #18181b to #fafafa spectrum
 * - Forest Green: #0f5132, #1e6b4a
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Serif:ital,wght@0,400;0,500;0,600;1,400&display=swap');

:root {
    /* Navy Palette */
    --nrt-navy-900: #0a1628;
    --nrt-navy-800: #0f2137;
    --nrt-navy-700: #1a3a5c;
    --nrt-navy-600: #234b73;

    /* Blue Palette */
    --nrt-blue-700: #1d4ed8;
    --nrt-blue-600: #2563eb;
    --nrt-blue-500: #3b82f6;
    --nrt-blue-400: #60a5fa;
    --nrt-blue-300: #93c5fd;
    --nrt-blue-100: #dbeafe;
    --nrt-blue-50: #eff6ff;

    /* Forest Green */
    --nrt-green-700: #0f5132;
    --nrt-green-600: #1e6b4a;
    --nrt-green-500: #2d7d5a;
    --nrt-green-400: #4ade80;

    /* Senna Premium Palette */
    --nrt-senna-primary: #0d353e;
    --nrt-senna-secondary: #1a4a56;
    --nrt-senna-accent: #2d6a7a;
    --nrt-senna-light: #e8f4f8;
    --nrt-senna-gold: #c8a882;
    --nrt-senna-gold-light: #d4c4a8;

    /* Cream Palette */
    --nrt-cream-50: #fefdfb;
    --nrt-cream-100: #faf8f5;
    --nrt-cream-200: #f5f2ed;
    --nrt-cream-300: #ebe7e0;

    /* Gray Palette */
    --nrt-gray-900: #18181b;
    --nrt-gray-800: #27272a;
    --nrt-gray-700: #3f3f46;
    --nrt-gray-600: #52525b;
    --nrt-gray-500: #71717a;
    --nrt-gray-400: #a1a1aa;
    --nrt-gray-300: #d4d4d8;
    --nrt-gray-200: #e4e4e7;
    --nrt-gray-100: #f4f4f5;
    --nrt-gray-50: #fafafa;
    --nrt-white: #ffffff;

    /* Typography */
    --nrt-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --nrt-font-serif: 'Noto Serif', 'Georgia', serif;

    /* Layout */
    --nrt-topbar-height: 56px;
    --nrt-stories-width: 380px;
}

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

.nrt-terminal {
    display: flex;
    flex-direction: column;
    height: 100vh;
    width: 100vw;
    overflow: hidden;
    background: var(--nrt-cream-100);
    font-family: var(--nrt-font-sans);
    color: var(--nrt-gray-900);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.nrt-terminal *,
.nrt-terminal *::before,
.nrt-terminal *::after {
    box-sizing: border-box;
}

.nrt-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    font-size: 16px;
    color: var(--nrt-gray-500);
}

/* ============================================
   TOP BAR
   ============================================ */

.nrt-topbar {
    height: var(--nrt-topbar-height);
    background: var(--nrt-white);
    border-bottom: 1px solid var(--nrt-gray-200);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    flex-shrink: 0;
    z-index: 100;
}

.nrt-topbar-left {
    display: flex;
    align-items: center;
    gap: 32px;
}

.nrt-brand {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nrt-brand-logo {
    width: 26px;
    height: 26px;
    color: var(--nrt-green-600);
}

.nrt-brand-name {
    font-size: 15px;
    font-weight: 600;
    color: var(--nrt-navy-800);
    letter-spacing: -0.01em;
}

.nrt-nav {
    display: flex;
    align-items: center;
    gap: 4px;
}

.nrt-nav-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    font-family: var(--nrt-font-sans);
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-gray-600);
    text-decoration: none;
    background: transparent;
    border: none;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.15s ease;
}

.nrt-nav-item svg {
    width: 16px;
    height: 16px;
}

.nrt-nav-item:hover {
    background: var(--nrt-cream-200);
    color: var(--nrt-navy-800);
}

.nrt-nav-item.is-active {
    background: var(--nrt-navy-800);
    color: var(--nrt-white);
}

.nrt-topbar-right {
    display: flex;
    align-items: center;
    gap: 16px;
}

.nrt-search {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: var(--nrt-cream-100);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    width: 260px;
    transition: all 0.15s ease;
}

.nrt-search:focus-within {
    background: var(--nrt-white);
    border-color: var(--nrt-blue-500);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.nrt-search svg {
    width: 16px;
    height: 16px;
    color: var(--nrt-gray-400);
    flex-shrink: 0;
}

.nrt-search-input {
    flex: 1;
    border: none;
    background: transparent;
    font-family: var(--nrt-font-sans);
    font-size: 13px;
    color: var(--nrt-gray-800);
    outline: none;
}

.nrt-search-input::placeholder {
    color: var(--nrt-gray-400);
}

.nrt-icon-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    color: var(--nrt-gray-500);
    cursor: pointer;
    transition: all 0.15s ease;
}

.nrt-icon-btn:hover {
    background: var(--nrt-cream-100);
    border-color: var(--nrt-gray-300);
    color: var(--nrt-navy-800);
}

.nrt-icon-btn svg {
    width: 18px;
    height: 18px;
}

.nrt-user {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: var(--nrt-cream-100);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.nrt-user:hover {
    background: var(--nrt-cream-200);
}

.nrt-user-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
}

.nrt-user-initials {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--nrt-navy-800);
    color: var(--nrt-white);
    font-size: 11px;
    font-weight: 600;
    border-radius: 50%;
}

.nrt-user-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-gray-700);
}

.nrt-user-chevron {
    width: 14px;
    height: 14px;
    color: var(--nrt-gray-400);
    transition: transform 0.2s ease;
}

.nrt-user-wrapper {
    position: relative;
}

.nrt-user-wrapper.is-open .nrt-user-chevron {
    transform: rotate(180deg);
}

.nrt-user-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 180px;
    background: var(--nrt-white);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: all 0.2s ease;
    z-index: 1000;
}

.nrt-user-wrapper.is-open .nrt-user-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.nrt-user-dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 12px 16px;
    background: none;
    border: none;
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-gray-700);
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease;
}

.nrt-user-dropdown-item:first-child {
    border-radius: 8px 8px 0 0;
}

.nrt-user-dropdown-item:last-child {
    border-radius: 0 0 8px 8px;
}

.nrt-user-dropdown-item:hover {
    background: var(--nrt-cream-100);
}

.nrt-user-dropdown-item svg {
    width: 18px;
    height: 18px;
    color: var(--nrt-gray-500);
}

.nrt-login-btn {
    padding: 8px 18px;
    background: var(--nrt-navy-800);
    color: var(--nrt-white);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 6px;
    transition: background 0.15s ease;
}

.nrt-login-btn:hover {
    background: var(--nrt-navy-700);
}

/* ============================================
   MAIN LAYOUT
   ============================================ */

.nrt-main {
    display: flex;
    flex: 1;
    overflow: hidden;
}

/* ============================================
   STORIES PANEL (Left)
   ============================================ */

.nrt-stories-panel {
    width: var(--nrt-stories-width);
    min-width: 320px;
    max-width: 450px;
    background: var(--nrt-white);
    border-right: 1px solid var(--nrt-gray-200);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ============================================
   FILTER BAR (Two-Row Layout)
   ============================================ */

.nrt-filter-bar {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--nrt-gray-200);
    background: var(--nrt-white);
    flex-shrink: 0;
}

/* Filter Rows */
.nrt-filter-row {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.nrt-filter-row::-webkit-scrollbar {
    display: none;
}

/* Row 1: Deal Type Chips (single-select) */
.nrt-filter-chip {
    padding: 5px 12px;
    font-family: var(--nrt-font-sans);
    font-size: 12px;
    font-weight: 500;
    color: var(--nrt-gray-600);
    background: var(--nrt-white);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 16px;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.nrt-filter-chip:hover {
    background: var(--nrt-cream-50);
    border-color: var(--nrt-gray-300);
}

.nrt-filter-chip.is-active {
    background: var(--nrt-navy-800);
    border-color: var(--nrt-navy-800);
    color: var(--nrt-white);
}

/* Row 2: Sector/Region Tags (multi-select) */
.nrt-filter-tag {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    font-family: var(--nrt-font-sans);
    font-size: 11px;
    font-weight: 500;
    color: var(--nrt-gray-500);
    background: var(--nrt-cream-50);
    border: 1px solid transparent;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.nrt-filter-tag:hover {
    background: var(--nrt-cream-100);
    color: var(--nrt-gray-700);
}

.nrt-filter-tag.is-active {
    background: var(--nrt-navy-800);
    border-color: var(--nrt-navy-800);
    color: var(--nrt-white);
}

.nrt-filter-tag.is-active .nrt-tag-icon {
    stroke: var(--nrt-white);
}

.nrt-tag-icon {
    width: 12px;
    height: 12px;
    stroke: var(--nrt-gray-400);
    flex-shrink: 0;
}

/* Filter Count Badge */
.nrt-filter-count {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
    font-size: 11px;
    color: var(--nrt-gray-500);
}

.nrt-filter-count-num {
    font-weight: 600;
    color: var(--nrt-navy-800);
}

.nrt-filter-clear {
    padding: 2px 8px;
    font-family: var(--nrt-font-sans);
    font-size: 10px;
    font-weight: 500;
    color: var(--nrt-gray-500);
    background: transparent;
    border: 1px solid var(--nrt-gray-300);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.nrt-filter-clear:hover {
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-700);
}

/* Legacy filter styles - kept for backwards compatibility */
.nrt-filters {
    padding: 16px 20px;
    border-bottom: 1px solid var(--nrt-gray-100);
    flex-shrink: 0;
}

.nrt-filter-tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 12px;
}

.nrt-filter-tab {
    padding: 6px 14px;
    font-size: 12px;
    font-weight: 500;
    color: var(--nrt-gray-600);
    background: transparent;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 16px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.nrt-filter-tab:hover {
    background: var(--nrt-cream-100);
    border-color: var(--nrt-gray-300);
}

.nrt-filter-tab.is-active {
    background: var(--nrt-navy-800);
    border-color: var(--nrt-navy-800);
    color: var(--nrt-white);
}

.nrt-filter-dropdowns {
    display: flex;
    gap: 8px;
}

.nrt-filter-select {
    flex: 1;
    padding: 8px 12px;
    font-family: var(--nrt-font-sans);
    font-size: 12px;
    color: var(--nrt-gray-700);
    background: var(--nrt-cream-50);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 6px;
    cursor: pointer;
    outline: none;
    transition: all 0.15s ease;
}

.nrt-filter-select:hover {
    border-color: var(--nrt-gray-300);
}

.nrt-filter-select:focus {
    border-color: var(--nrt-blue-500);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1);
}

/* Story List */
.nrt-stories-list {
    flex: 1;
    overflow-y: auto;
    padding: 8px;
}

.nrt-story-card {
    position: relative;
    padding: 16px;
    background: var(--nrt-white);
    border: 1px solid transparent;
    border-radius: 10px;
    margin-bottom: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.nrt-story-card:hover {
    background: var(--nrt-cream-50);
    border-color: var(--nrt-gray-200);
}

.nrt-story-card.is-active {
    background: var(--nrt-blue-100);
    border-color: var(--nrt-blue-300);
}

.nrt-story-card.is-priority {
    border-left: 3px solid var(--nrt-green-600);
}

/* Locked story cards (logged-out users) */
.nrt-story-card.is-locked {
    position: relative;
}

.nrt-story-card.is-locked::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 40%, rgba(255, 255, 255, 0.9) 100%);
    pointer-events: none;
    border-radius: 10px;
}

.nrt-story-lock {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 24px;
    height: 24px;
    background: var(--nrt-gray-800);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.nrt-story-lock svg {
    width: 12px;
    height: 12px;
    stroke: var(--nrt-white);
}

.nrt-story-card.is-locked:hover .nrt-story-lock {
    background: var(--nrt-blue-600);
}

.nrt-story-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.nrt-story-type {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 3px 8px;
    border-radius: 4px;
}

.nrt-type-news {
    background: var(--nrt-blue-100);
    color: var(--nrt-blue-700);
}

.nrt-type-deal {
    background: rgba(30, 107, 74, 0.12);
    color: var(--nrt-green-600);
}

.nrt-type-signal {
    background: rgba(138, 109, 53, 0.12);
    color: #8a6d35;
}

.nrt-type-job {
    background: rgba(30, 107, 74, 0.12);
    color: var(--nrt-green-700);
}

.nrt-story-time {
    font-size: 11px;
    color: var(--nrt-gray-500);
}

.nrt-story-title {
    font-family: var(--nrt-font-serif);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--nrt-gray-900);
    margin: 0 0 8px 0;
}

.nrt-story-card.is-active .nrt-story-title {
    color: var(--nrt-navy-800);
}

.nrt-story-excerpt {
    font-size: 13px;
    line-height: 1.5;
    color: var(--nrt-gray-600);
    margin: 0 0 10px 0;
}

.nrt-story-meta {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nrt-story-sector,
.nrt-story-value {
    font-size: 11px;
    font-weight: 500;
    color: var(--nrt-gray-500);
}

.nrt-story-value {
    color: var(--nrt-green-600);
}

.nrt-priority-indicator {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 8px;
    height: 8px;
    background: var(--nrt-green-500);
    border-radius: 50%;
    animation: pulse 2s infinite;
}

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

/* Stories Footer */
.nrt-stories-footer {
    padding: 12px 20px;
    border-top: 1px solid var(--nrt-gray-100);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.nrt-story-count {
    font-size: 12px;
    color: var(--nrt-gray-500);
}

.nrt-load-more {
    padding: 6px 14px;
    font-family: var(--nrt-font-sans);
    font-size: 12px;
    font-weight: 500;
    color: var(--nrt-blue-600);
    background: transparent;
    border: 1px solid var(--nrt-blue-200);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.nrt-load-more:hover {
    background: var(--nrt-blue-100);
    border-color: var(--nrt-blue-300);
}

.nrt-load-more.is-loading {
    opacity: 0.7;
    cursor: wait;
    pointer-events: none;
}

.nrt-load-more:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ============================================
   TAB CONTENT
   ============================================ */

.nrt-tab-content {
    display: none;
    flex-direction: column;
    height: 100%;
}

.nrt-tab-content.is-active {
    display: flex;
}

/* ============================================
   JOB CARDS
   ============================================ */

.nrt-jobs-list {
    flex: 1;
    overflow-y: auto;
    padding: 16px 20px;
}

.nrt-job-card {
    position: relative;
    background: var(--nrt-white);
    border: 1px solid var(--nrt-gray-100);
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 12px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.nrt-job-card:hover {
    border-color: var(--nrt-gray-200);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.nrt-job-card.is-active {
    border-color: var(--nrt-blue-500);
    background: var(--nrt-blue-50);
    box-shadow: 0 2px 12px rgba(59, 130, 246, 0.12);
}

.nrt-job-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.nrt-job-badge {
    display: flex;
    gap: 6px;
}

.nrt-badge-new {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 2px 6px;
    border-radius: 4px;
    background: var(--nrt-green-100);
    color: var(--nrt-green-700);
}

.nrt-badge-recent {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 2px 6px;
    border-radius: 4px;
    background: var(--nrt-blue-100);
    color: var(--nrt-blue-700);
}

.nrt-job-time {
    font-size: 11px;
    color: var(--nrt-gray-500);
}

.nrt-job-title {
    font-family: var(--nrt-font-serif);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--nrt-gray-900);
    margin: 0 0 6px 0;
}

.nrt-job-card.is-active .nrt-job-title {
    color: var(--nrt-blue-700);
}

.nrt-job-company {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--nrt-gray-700);
    margin-bottom: 8px;
}

.nrt-job-company svg {
    color: var(--nrt-gray-400);
}

.nrt-job-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 12px;
    color: var(--nrt-gray-500);
}

.nrt-job-location,
.nrt-job-salary {
    display: flex;
    align-items: center;
    gap: 4px;
}

.nrt-job-level {
    position: absolute;
    bottom: 12px;
    right: 12px;
    font-size: 10px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 3px 8px;
    border-radius: 4px;
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-600);
}

.nrt-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    text-align: center;
    color: var(--nrt-gray-400);
}

.nrt-empty-state p {
    margin: 12px 0 0;
    font-size: 14px;
    color: var(--nrt-gray-500);
}

/* ============================================
   JOB CONTENT PANEL STYLES
   ============================================ */

.nrt-job-article .nrt-article-header {
    margin-bottom: 32px;
}

.nrt-job-header-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 16px 0;
}

.nrt-job-header-company,
.nrt-job-header-location,
.nrt-job-header-salary,
.nrt-job-header-level {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--nrt-gray-700);
}

.nrt-job-header-company svg,
.nrt-job-header-location svg,
.nrt-job-header-salary svg,
.nrt-job-header-level svg {
    color: var(--nrt-gray-400);
    flex-shrink: 0;
}

.nrt-job-header-company {
    font-weight: 600;
    color: var(--nrt-gray-900);
}

.nrt-job-actions {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}

.nrt-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    font-family: var(--nrt-font-sans);
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.15s ease;
}

.nrt-btn--primary {
    background: var(--nrt-blue-600);
    color: var(--nrt-white);
    border: none;
}

.nrt-btn--primary:hover {
    background: var(--nrt-blue-700);
}

.nrt-btn--secondary {
    background: var(--nrt-white);
    color: var(--nrt-gray-700);
    border: 1px solid var(--nrt-gray-200);
}

.nrt-btn--secondary:hover {
    background: var(--nrt-gray-50);
    border-color: var(--nrt-gray-300);
}

.nrt-btn--accent {
    background: linear-gradient(135deg, #14b8a6 0%, #0d9488 100%);
    color: var(--nrt-white);
    border: none;
    box-shadow: 0 2px 8px rgba(20, 184, 166, 0.3);
}

.nrt-btn--accent:hover {
    background: linear-gradient(135deg, #0d9488 0%, #0f766e 100%);
    box-shadow: 0 4px 12px rgba(20, 184, 166, 0.4);
    transform: translateY(-1px);
}

/* Role Reality Section */
.nrt-role-reality {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nrt-reality-item {
    display: flex;
    gap: 12px;
    padding: 16px;
    background: var(--nrt-white);
    border: 1px solid var(--nrt-gray-100);
    border-radius: 10px;
}

.nrt-reality-item svg {
    flex-shrink: 0;
    color: var(--nrt-green-600);
    margin-top: 2px;
}

.nrt-reality-item p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--nrt-gray-700);
}

/* Interview Stages */
.nrt-interview-stages {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px;
}

.nrt-interview-stage {
    padding: 20px;
    background: var(--nrt-white);
    border: 1px solid var(--nrt-gray-100);
    border-radius: 12px;
}

.nrt-interview-stage h3 {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.nrt-interview-stage ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nrt-interview-stage li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 8px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--nrt-gray-700);
}

.nrt-interview-stage li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 7px;
    width: 6px;
    height: 6px;
    background: var(--nrt-blue-500);
    border-radius: 50%;
}

.nrt-interview-stage p {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--nrt-gray-600);
}

/* Career Path */
.nrt-career-path {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.nrt-path-step {
    display: flex;
    gap: 16px;
    padding: 16px 20px;
    background: var(--nrt-white);
    border: 1px solid var(--nrt-gray-100);
    border-radius: 10px;
    border-left: 3px solid var(--nrt-blue-500);
}

.nrt-path-label {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--nrt-blue-600);
    padding: 4px 10px;
    background: var(--nrt-blue-50);
    border-radius: 4px;
    height: fit-content;
}

.nrt-path-step p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--nrt-gray-700);
}

/* Checklist */
.nrt-checklist {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.nrt-checklist-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    background: var(--nrt-white);
    border: 1px solid var(--nrt-gray-100);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.nrt-checklist-item:hover {
    border-color: var(--nrt-gray-200);
}

.nrt-checklist-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--nrt-green-600);
    cursor: pointer;
}

.nrt-checklist-item span {
    font-size: 14px;
    line-height: 1.5;
    color: var(--nrt-gray-700);
}

/* Questions List */
.nrt-questions-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nrt-questions-list li {
    position: relative;
    padding: 12px 16px 12px 36px;
    margin-bottom: 8px;
    background: var(--nrt-white);
    border: 1px solid var(--nrt-gray-100);
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--nrt-gray-700);
}

.nrt-questions-list li::before {
    content: '?';
    position: absolute;
    left: 12px;
    top: 12px;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    color: var(--nrt-blue-600);
    background: var(--nrt-blue-100);
    border-radius: 50%;
}

/* Full Description */
.nrt-description-content {
    font-size: 14px;
    line-height: 1.7;
    color: var(--nrt-gray-700);
}

.nrt-description-content p {
    margin: 0 0 16px;
}

.nrt-description-content ul,
.nrt-description-content ol {
    margin: 0 0 16px;
    padding-left: 24px;
}

.nrt-description-content li {
    margin-bottom: 6px;
}

.nrt-description-content h2,
.nrt-description-content h3,
.nrt-description-content h4 {
    margin: 24px 0 12px;
    color: var(--nrt-gray-900);
}

/* ============================================
   CONTENT PANEL (Right)
   ============================================ */

.nrt-content-panel {
    flex: 1;
    background: var(--nrt-cream-50);
    overflow-y: auto;
    padding: 32px 48px;
    position: relative;
}

.nrt-content-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: 15px;
    color: var(--nrt-gray-400);
}

/* Article */
.nrt-article {
    max-width: 800px;
    margin: 0 auto;
}

.nrt-article-header {
    margin-bottom: 32px;
}

.nrt-article-meta-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.nrt-article-type {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 4px 10px;
    border-radius: 4px;
}

.nrt-article-sector {
    font-size: 11px;
    font-weight: 500;
    color: var(--nrt-gray-600);
    padding: 4px 10px;
    background: var(--nrt-gray-100);
    border-radius: 4px;
}

.nrt-article-time,
.nrt-article-reading {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--nrt-gray-500);
}

.nrt-article-time svg {
    width: 14px;
    height: 14px;
}

.nrt-article-title {
    font-family: var(--nrt-font-serif);
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 400;
    line-height: 1.25;
    color: var(--nrt-navy-900);
    margin: 0 0 16px 0;
    letter-spacing: -0.02em;
}

.nrt-article-company {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nrt-company-badge {
    font-size: 13px;
    font-weight: 600;
    color: var(--nrt-navy-800);
    padding: 6px 12px;
    background: var(--nrt-white);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 6px;
}

.nrt-deal-badge {
    font-size: 13px;
    font-weight: 600;
    color: var(--nrt-green-600);
    padding: 6px 12px;
    background: rgba(30, 107, 74, 0.08);
    border: 1px solid rgba(30, 107, 74, 0.2);
    border-radius: 6px;
}

/* Metrics Bar */
.nrt-metrics-bar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 16px;
    padding: 20px;
    background: var(--nrt-navy-900);
    border-radius: 10px;
    margin-bottom: 32px;
}

.nrt-metric {
    text-align: center;
    padding: 12px;
}

.nrt-metric-value {
    display: block;
    font-size: 22px;
    font-weight: 700;
    color: var(--nrt-white);
    margin-bottom: 4px;
}

.nrt-metric-label {
    font-size: 11px;
    font-weight: 500;
    color: var(--nrt-gray-400);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Article Body */
.nrt-article-body {
    margin-bottom: 40px;
}

/* ============================================
   EXECUTIVE SUMMARY - Premium Key Summary Box
   ============================================ */

.nrt-executive-summary {
    background: linear-gradient(135deg, var(--nrt-navy-800) 0%, var(--nrt-navy-900) 100%);
    border-radius: 12px;
    padding: 28px;
    margin-bottom: 32px;
    box-shadow: 0 4px 20px rgba(15, 33, 55, 0.2);
}

.nrt-exec-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.nrt-exec-label {
    font-family: var(--nrt-font-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
}

.nrt-exec-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--nrt-blue-400);
    padding: 4px 12px;
    background: rgba(59, 130, 246, 0.15);
    border-radius: 12px;
}

/* Key Metrics Grid - Prominent Display */
.nrt-exec-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}

.nrt-exec-metric {
    display: flex;
    flex-direction: column;
    padding: 18px 16px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: all 0.2s ease;
}

.nrt-exec-metric:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-2px);
}

.nrt-exec-metric-value {
    display: block;
    font-family: var(--nrt-font-sans);
    font-size: 26px;
    font-weight: 700;
    color: var(--nrt-white);
    letter-spacing: -0.02em;
    margin-bottom: 6px;
    line-height: 1.1;
}

/* Highlight important values */
.nrt-exec-metric-value.is-highlight {
    color: var(--nrt-blue-400);
}

.nrt-exec-metric-label {
    display: block;
    font-family: var(--nrt-font-sans);
    font-size: 11px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.nrt-exec-metric-sub {
    display: block;
    font-size: 11px;
    color: var(--nrt-blue-400);
    margin-top: 6px;
}

/* Key Takeaways - Enhanced */
.nrt-exec-takeaways {
    background: rgba(255, 255, 255, 0.04);
    border-radius: 10px;
    padding: 20px;
    border-left: 3px solid var(--nrt-green-500);
}

.nrt-exec-takeaways-title {
    font-family: var(--nrt-font-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--nrt-green-400);
    margin: 0 0 16px 0;
}

.nrt-exec-takeaways-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nrt-exec-takeaways-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 14px;
    font-family: var(--nrt-font-sans);
    font-size: 14px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.85);
}

.nrt-exec-takeaways-list li:last-child {
    margin-bottom: 0;
}

.nrt-takeaway-num {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--nrt-green-500);
    color: var(--nrt-white);
    font-size: 12px;
    font-weight: 700;
    border-radius: 6px;
}

.nrt-takeaway-text {
    flex: 1;
}

/* Highlight key terms in takeaways */
.nrt-takeaway-text strong,
.nrt-takeaway-text b {
    color: var(--nrt-white);
    font-weight: 600;
}

/* Commentary/Thesis statement */
.nrt-exec-thesis {
    font-family: var(--nrt-font-serif);
    font-size: 16px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.9);
    margin: 0 0 24px 0;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* ============================================
   ARTICLE CONTENT FLOW
   ============================================ */

.nrt-article-flow {
    margin-bottom: 40px;
}

.nrt-content-section {
    margin-bottom: 32px;
}

.nrt-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--nrt-font-sans);
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-navy-800);
    margin: 0 0 16px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--nrt-cream-300);
}

.nrt-section-icon {
    width: 20px;
    height: 20px;
    color: var(--nrt-blue-500);
    flex-shrink: 0;
}

.nrt-section-content {
    font-family: var(--nrt-font-serif);
    font-size: 17px;
    line-height: 1.8;
    color: var(--nrt-gray-800);
}

.nrt-section-content p {
    margin: 0 0 1.4em 0;
}

.nrt-section-content p:last-child {
    margin-bottom: 0;
}

/* Section types - based on AI-generated section types */
.nrt-content-section.nrt-section-intro {
    /* Intro sections have larger, more prominent text */
}

.nrt-content-section.nrt-section-intro .nrt-section-content {
    font-size: 18px;
    color: var(--nrt-gray-700);
}

.nrt-content-section.nrt-section-intro .nrt-section-content p:first-child {
    font-weight: 500;
}

.nrt-content-section.nrt-section-fact .nrt-section-content,
.nrt-content-section.nrt-section-context .nrt-section-content {
    /* Standard content styling */
}

.nrt-content-section.nrt-section-analysis .nrt-section-content {
    /* Analysis sections may have highlighted quotes or data */
}

.nrt-content-section.nrt-section-outlook .nrt-section-content {
    /* Forward-looking sections */
    font-style: italic;
    color: var(--nrt-gray-700);
}

/* Content formatting within sections */
.nrt-section-content ul,
.nrt-section-content ol {
    margin: 0 0 1.4em 0;
    padding-left: 0;
    list-style: none;
}

.nrt-section-content li {
    position: relative;
    margin-bottom: 12px;
    padding-left: 24px;
    line-height: 1.7;
}

.nrt-section-content ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    background: var(--nrt-blue-500);
    border-radius: 50%;
}

.nrt-section-content ol {
    counter-reset: list-counter;
}

.nrt-section-content ol li {
    counter-increment: list-counter;
}

.nrt-section-content ol li::before {
    content: counter(list-counter);
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    background: var(--nrt-navy-800);
    color: var(--nrt-white);
    font-size: 11px;
    font-weight: 600;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nrt-section-content blockquote {
    margin: 1.5em 0;
    padding: 20px 24px;
    border-left: 4px solid var(--nrt-blue-500);
    background: linear-gradient(135deg, var(--nrt-cream-50) 0%, var(--nrt-white) 100%);
    border-radius: 0 8px 8px 0;
    font-style: italic;
    color: var(--nrt-gray-700);
    font-size: 16px;
    line-height: 1.7;
}

.nrt-section-content blockquote p {
    margin: 0;
}

/* Bold text - Key points highlighted */
.nrt-section-content strong,
.nrt-section-content b {
    font-weight: 700;
    color: var(--nrt-navy-800);
    background: linear-gradient(180deg, transparent 60%, rgba(59, 130, 246, 0.15) 60%);
    padding: 0 2px;
}

/* Key figures/numbers styling */
.nrt-section-content strong:has(+),
.nrt-key-figure {
    font-family: var(--nrt-font-sans);
    font-weight: 700;
    color: var(--nrt-blue-600);
}

.nrt-section-content a {
    color: var(--nrt-blue-600);
    text-decoration: none;
    border-bottom: 1px solid var(--nrt-blue-200);
    transition: all 0.15s ease;
}

.nrt-section-content a:hover {
    color: var(--nrt-blue-700);
    border-bottom-color: var(--nrt-blue-500);
}

/* Emphasized text */
.nrt-section-content em,
.nrt-section-content i {
    font-style: italic;
    color: var(--nrt-gray-700);
}

/* Code/technical terms */
.nrt-section-content code {
    font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
    font-size: 0.9em;
    padding: 2px 6px;
    background: var(--nrt-cream-100);
    border-radius: 4px;
    color: var(--nrt-navy-800);
}

/* Data/stats callout within content */
.nrt-section-content .data-point,
.nrt-section-content [data-stat] {
    display: inline-block;
    font-family: var(--nrt-font-sans);
    font-weight: 700;
    color: var(--nrt-navy-800);
    background: var(--nrt-cream-100);
    padding: 2px 8px;
    border-radius: 4px;
    margin: 0 2px;
}

/* ============================================
   INLINE CHARTS
   ============================================ */

.nrt-inline-chart {
    margin: 24px 0;
}

/* Reset chart card inside inline chart - no double borders */
.nrt-inline-chart .nrt-chart-card {
    margin: 0;
    border-radius: 10px;
}

/* Chart header styling (applies to both inline and grid charts) */
.nrt-inline-chart .nrt-chart-header,
.nrt-inline-chart-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 20px;
    background: var(--nrt-cream-50);
    border-bottom: 1px solid var(--nrt-gray-100);
}

.nrt-chart-icon {
    width: 18px;
    height: 18px;
    color: var(--nrt-blue-500);
    flex-shrink: 0;
}

.nrt-chart-icon svg {
    width: 100%;
    height: 100%;
}

.nrt-chart-titles {
    flex: 1;
}

.nrt-inline-chart .nrt-chart-title,
.nrt-chart-card .nrt-chart-title {
    font-family: var(--nrt-font-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-navy-800);
    margin: 0 0 2px 0;
}

.nrt-inline-chart .nrt-chart-subtitle,
.nrt-chart-card .nrt-chart-subtitle {
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin: 0;
}

.nrt-inline-chart .nrt-chart-body {
    padding: 20px;
    min-height: 180px;
}

/* ============================================
   SOURCE ATTRIBUTION
   ============================================ */

.nrt-source-attribution {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: var(--nrt-cream-100);
    border: 1px solid var(--nrt-cream-300);
    border-radius: 8px;
    margin-top: 24px;
}

.nrt-source-icon {
    width: 20px;
    height: 20px;
    color: var(--nrt-gray-500);
    flex-shrink: 0;
}

.nrt-source-text {
    flex: 1;
}

.nrt-source-label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--nrt-gray-500);
    display: block;
    margin-bottom: 2px;
}

.nrt-source-link {
    font-size: 13px;
    color: var(--nrt-blue-600);
    text-decoration: none;
}

.nrt-source-link:hover {
    text-decoration: underline;
}

.nrt-source-name {
    font-size: 13px;
    color: var(--nrt-gray-700);
}

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

.nrt-article-badges {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.nrt-region-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 500;
    color: var(--nrt-gray-600);
    padding: 5px 12px;
    background: var(--nrt-cream-200);
    border-radius: 14px;
}

.nrt-region-badge svg {
    width: 14px;
    height: 14px;
}

.nrt-ai-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--nrt-blue-600);
    padding: 4px 10px;
    background: var(--nrt-blue-100);
    border-radius: 4px;
    margin: 20px 0;
}

.nrt-ai-badge svg {
    width: 12px;
    height: 12px;
}

/* AI badge when standalone in article flow */
.nrt-article > .nrt-ai-badge {
    margin-top: 24px;
    margin-bottom: 24px;
}

/* Metric change indicator */
.nrt-exec-metric-change {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 11px;
    font-weight: 500;
    margin-top: 4px;
}

.nrt-exec-metric-change.is-positive {
    color: var(--nrt-green-600);
}

.nrt-exec-metric-change.is-negative {
    color: #dc2626;
}

.nrt-exec-metric-change svg {
    width: 12px;
    height: 12px;
}

.nrt-takeaways {
    padding: 24px;
    background: var(--nrt-white);
    border: 1px solid var(--nrt-gray-200);
    border-left: 3px solid var(--nrt-navy-800);
    border-radius: 8px;
    margin-bottom: 28px;
}

.nrt-takeaways-title {
    font-family: var(--nrt-font-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--nrt-navy-800);
    margin: 0 0 14px 0;
}

.nrt-takeaways-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nrt-takeaways-list li {
    position: relative;
    padding-left: 18px;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--nrt-gray-700);
}

.nrt-takeaways-list li:last-child {
    margin-bottom: 0;
}

.nrt-takeaways-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 6px;
    height: 6px;
    background: var(--nrt-blue-500);
    border-radius: 50%;
}

.nrt-article-content {
    font-family: var(--nrt-font-serif);
    font-size: 17px;
    line-height: 1.8;
    color: var(--nrt-gray-800);
}

.nrt-article-content p {
    margin: 0 0 1.4em 0;
}

.nrt-article-content h2 {
    font-family: var(--nrt-font-sans);
    font-size: 20px;
    font-weight: 600;
    color: var(--nrt-navy-900);
    margin: 2em 0 0.75em 0;
}

.nrt-article-content h3 {
    font-family: var(--nrt-font-sans);
    font-size: 17px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 1.5em 0 0.5em 0;
}

.nrt-article-content a {
    color: var(--nrt-blue-600);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.nrt-article-content strong {
    font-weight: 600;
    color: var(--nrt-gray-900);
}

/* ============================================
   CHARTS SECTION
   ============================================ */

.nrt-charts-section {
    margin-bottom: 40px;
}

.nrt-charts-title {
    font-family: var(--nrt-font-sans);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--nrt-navy-800);
    margin: 0 0 20px 0;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--nrt-navy-800);
    display: inline-block;
}

.nrt-charts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 20px;
}

.nrt-chart-card {
    background: var(--nrt-white);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 10px;
    overflow: hidden;
}

.nrt-chart-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px 20px 12px;
    border-bottom: 1px solid var(--nrt-gray-100);
}

.nrt-chart-title {
    font-family: var(--nrt-font-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-navy-800);
    margin: 0 0 4px 0;
}

.nrt-chart-subtitle {
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin: 0;
}

.nrt-chart-body {
    padding: 20px;
    min-height: 200px;
}

.nrt-chart-footer {
    padding: 12px 20px;
    background: var(--nrt-cream-50);
    border-top: 1px solid var(--nrt-gray-100);
}

.nrt-chart-source {
    font-size: 11px;
    color: var(--nrt-gray-500);
}

/* Chart Colors - using primary palette */
.nrt-chart-body [data-chart] {
    --chart-color-1: var(--nrt-navy-800);
    --chart-color-2: var(--nrt-blue-500);
    --chart-color-3: var(--nrt-blue-300);
    --chart-color-4: var(--nrt-green-600);
    --chart-color-5: var(--nrt-gray-400);
}

/* Bar Chart */
.nrt-bar-chart {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nrt-bar-row {
    display: grid;
    grid-template-columns: 100px 1fr 60px;
    align-items: center;
    gap: 12px;
}

.nrt-bar-label {
    font-size: 12px;
    color: var(--nrt-gray-700);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nrt-bar-track {
    height: 24px;
    background: var(--nrt-cream-200);
    border-radius: 4px;
    overflow: hidden;
}

.nrt-bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.5s ease;
}

.nrt-bar-value {
    font-size: 13px;
    font-weight: 600;
    color: var(--nrt-navy-800);
    text-align: right;
}

/* Donut Chart */
.nrt-donut-chart {
    display: flex;
    align-items: center;
    gap: 24px;
}

.nrt-donut-visual {
    position: relative;
    flex-shrink: 0;
}

.nrt-donut-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.nrt-donut-center-value {
    font-size: 20px;
    font-weight: 700;
    color: var(--nrt-navy-800);
}

.nrt-donut-center-label {
    font-size: 10px;
    font-weight: 500;
    color: var(--nrt-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.nrt-donut-legend {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.nrt-legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.nrt-legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    flex-shrink: 0;
}

.nrt-legend-label {
    flex: 1;
    font-size: 12px;
    color: var(--nrt-gray-700);
}

.nrt-legend-value {
    font-size: 12px;
    font-weight: 600;
    color: var(--nrt-navy-800);
}

/* Line Chart */
.nrt-line-chart {
    width: 100%;
}

.nrt-line-chart svg {
    display: block;
}

.nrt-line-label {
    font-size: 10px;
    fill: var(--nrt-gray-500);
}

/* ============================================
   UTILITY & STATE STYLES
   ============================================ */

/* Smooth scrolling */
.nrt-stories-list,
.nrt-content-panel {
    scroll-behavior: smooth;
}

/* Custom scrollbar for stories list */
.nrt-stories-list::-webkit-scrollbar {
    width: 6px;
}

.nrt-stories-list::-webkit-scrollbar-track {
    background: transparent;
}

.nrt-stories-list::-webkit-scrollbar-thumb {
    background: var(--nrt-gray-300);
    border-radius: 3px;
}

.nrt-stories-list::-webkit-scrollbar-thumb:hover {
    background: var(--nrt-gray-400);
}

/* Icon button loading state */
.nrt-icon-btn.is-loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Hidden utility */
.nrt-hidden {
    display: none !important;
}

/* No results state */
.nrt-no-results {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    text-align: center;
}

.nrt-no-results-icon {
    width: 48px;
    height: 48px;
    color: var(--nrt-gray-300);
    margin-bottom: 16px;
}

.nrt-no-results-text {
    font-size: 14px;
    color: var(--nrt-gray-500);
}

/* Focus states for accessibility */
.nrt-filter-tab:focus,
.nrt-filter-select:focus,
.nrt-action-btn:focus,
.nrt-story-card:focus {
    outline: 2px solid var(--nrt-blue-500);
    outline-offset: 2px;
}

/* Keyboard navigation for story cards */
.nrt-story-card:focus-visible {
    outline: 2px solid var(--nrt-blue-500);
    outline-offset: 2px;
}

/* Story card transition */
.nrt-story-card {
    transition: all 0.15s ease;
}

/* Skeleton loading placeholder */
.nrt-skeleton {
    background: linear-gradient(90deg, var(--nrt-gray-100) 25%, var(--nrt-gray-200) 50%, var(--nrt-gray-100) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Empty state for content panel */
.nrt-content-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 400px;
    color: var(--nrt-gray-400);
    font-size: 15px;
}

/* Badge for signal type */
.nrt-type-signal {
    background: rgba(138, 109, 53, 0.12);
    color: #8a6d35;
}

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

.nrt-article-footer {
    padding-top: 24px;
    border-top: 1px solid var(--nrt-gray-200);
}

.nrt-article-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.nrt-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    font-family: var(--nrt-font-sans);
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-gray-700);
    background: var(--nrt-white);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.15s ease;
}

.nrt-action-btn:hover {
    background: var(--nrt-cream-100);
    border-color: var(--nrt-gray-300);
}

.nrt-action-btn svg {
    width: 16px;
    height: 16px;
}

.nrt-action-btn.nrt-action-primary {
    background: var(--nrt-navy-800);
    border-color: var(--nrt-navy-800);
    color: var(--nrt-white);
}

.nrt-action-btn.nrt-action-primary:hover {
    background: var(--nrt-navy-700);
}

.nrt-article-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.nrt-tag {
    font-size: 11px;
    font-weight: 500;
    color: var(--nrt-gray-600);
    padding: 5px 12px;
    background: var(--nrt-cream-200);
    border-radius: 14px;
}

/* ============================================
   LOADING STATES
   ============================================ */

.nrt-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 40px;
    height: 100%;
    min-height: 300px;
}

.nrt-loading-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    width: 100%;
    max-width: 280px;
}

.nrt-loading-percent {
    font-size: 48px;
    font-weight: 700;
    color: var(--nrt-blue-600);
    font-variant-numeric: tabular-nums;
    line-height: 1;
    letter-spacing: -1px;
}

.nrt-loading-bar {
    width: 100%;
    height: 6px;
    background: var(--nrt-gray-200);
    border-radius: 3px;
    overflow: hidden;
}

.nrt-loading-progress {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--nrt-blue-500), var(--nrt-blue-600));
    border-radius: 3px;
    transition: width 0.15s ease-out;
}

.nrt-loading-text {
    font-size: 13px;
    color: var(--nrt-gray-500);
    text-align: center;
}

.nrt-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid var(--nrt-gray-200);
    border-top-color: var(--nrt-blue-500);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

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

/* ============================================
   SUBSCRIPTION BOX (Locked Stories)
   ============================================ */

.nrt-subscription-box {
    max-width: 900px;
    margin: 0 auto;
    padding: 40px;
}

.nrt-subscription-header {
    text-align: center;
    margin-bottom: 40px;
}

.nrt-subscription-lock {
    width: 64px;
    height: 64px;
    background: var(--nrt-gray-100);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.nrt-subscription-lock svg {
    width: 28px;
    height: 28px;
    stroke: var(--nrt-gray-600);
}

.nrt-subscription-title {
    font-family: var(--nrt-font-serif);
    font-size: 24px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 12px;
    line-height: 1.3;
}

.nrt-subscription-desc {
    font-size: 15px;
    color: var(--nrt-gray-600);
    margin: 0;
}

.nrt-subscription-body h3 {
    font-size: 20px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 8px;
    text-align: center;
}

.nrt-subscription-tagline {
    font-size: 14px;
    color: var(--nrt-gray-500);
    text-align: center;
    margin: 0 0 24px;
}

.nrt-plan-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 24px;
}

.nrt-plan-card {
    position: relative;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    background: var(--nrt-white);
    transition: all 0.2s ease;
}

.nrt-plan-card:hover {
    border-color: var(--nrt-gray-300);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.nrt-plan-card--featured {
    border-color: var(--nrt-blue-500);
    background: linear-gradient(to bottom, var(--nrt-blue-50), var(--nrt-white));
}

.nrt-plan-card--featured:hover {
    border-color: var(--nrt-blue-600);
}

.nrt-plan-card__badge {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--nrt-blue-600);
    color: var(--nrt-white);
    font-size: 11px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.nrt-plan-card__head {
    margin-bottom: 16px;
}

.nrt-plan-card__head h4 {
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 8px;
}

.nrt-plan-card__price {
    font-size: 14px;
    color: var(--nrt-gray-700);
    margin: 0 0 4px;
    display: flex;
    align-items: baseline;
    gap: 4px;
}

.nrt-plan-card__price-value {
    font-size: 24px;
    font-weight: 700;
    color: var(--nrt-gray-900);
}

.nrt-plan-card__cycle {
    font-size: 13px;
    color: var(--nrt-gray-500);
}

.nrt-plan-card__tagline {
    font-size: 13px;
    color: var(--nrt-gray-500);
    margin: 0;
}

.nrt-plan-card__list {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    flex: 1;
}

.nrt-plan-card__list li {
    font-size: 13px;
    color: var(--nrt-gray-700);
    padding: 6px 0;
    padding-left: 20px;
    position: relative;
}

.nrt-plan-card__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 12px;
    height: 12px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e6b4a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
}

.nrt-plan-card__audience {
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin: 0 0 16px;
    font-style: italic;
}

.nrt-plan-select {
    display: block;
    width: 100%;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    border: 1px solid var(--nrt-gray-300);
    border-radius: 8px;
    background: var(--nrt-white);
    color: var(--nrt-gray-800);
    cursor: pointer;
    transition: all 0.15s ease;
}

.nrt-plan-select:hover {
    background: var(--nrt-gray-50);
    border-color: var(--nrt-gray-400);
}

.nrt-plan-select--primary {
    background: var(--nrt-blue-600);
    border-color: var(--nrt-blue-600);
    color: var(--nrt-white);
}

.nrt-plan-select--primary:hover {
    background: var(--nrt-blue-700);
    border-color: var(--nrt-blue-700);
}

.nrt-subscription-login {
    text-align: center;
    font-size: 14px;
    color: var(--nrt-gray-600);
    margin: 0;
}

.nrt-subscription-login a {
    color: var(--nrt-blue-600);
    font-weight: 600;
    text-decoration: none;
}

.nrt-subscription-login a:hover {
    text-decoration: underline;
}

/* Subscription box responsive */
@media (max-width: 900px) {
    .nrt-plan-grid {
        grid-template-columns: 1fr;
        max-width: 360px;
        margin-left: auto;
        margin-right: auto;
    }

    .nrt-subscription-box {
        padding: 24px;
    }

    .nrt-subscription-title {
        font-size: 20px;
    }
}

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

@media (max-width: 1024px) {
    .nrt-stories-panel {
        width: 320px;
        min-width: 280px;
    }

    .nrt-content-panel {
        padding: 24px 32px;
    }

    .nrt-nav-item span {
        display: none;
    }

    .nrt-search {
        width: 200px;
    }
}

/* ============================================
   DESKTOP: Hide mobile-only elements
   ============================================ */
.nrt-mobile-nav,
.nrt-mobile-back,
.nrt-mobile-search-overlay,
.nrt-mobile-search-btn {
    display: none;
}

/* ============================================
   SEARCH RESULTS SECTIONS
   ============================================ */
.nrt-search-section {
    padding: 8px 0;
}

.nrt-search-section-title {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--nrt-gray-500);
    padding: 8px 16px;
    margin: 0;
}

.nrt-search-result {
    cursor: pointer;
}

/* ============================================
   MOBILE EXPERIENCE - LinkedIn App Style
   Complete redesign for mobile devices
   ============================================ */

@media (max-width: 768px) {
    /* Root mobile variables */
    :root {
        --nrt-mobile-header: 56px;
        --nrt-mobile-bottom-nav: 64px;
        --nrt-mobile-safe-bottom: env(safe-area-inset-bottom, 0px);
    }

    /* Base terminal - full screen app experience */
    .nrt-terminal {
        flex-direction: column;
        padding-bottom: calc(var(--nrt-mobile-bottom-nav) + var(--nrt-mobile-safe-bottom));
    }

    /* Main area stacks */
    .nrt-main {
        flex-direction: column;
        height: calc(100vh - var(--nrt-mobile-header));
        overflow: hidden;
        position: relative;
    }

    /* ============================================
       MOBILE TOP BAR - Simplified header
       ============================================ */
    .nrt-topbar {
        padding: 0 12px;
        height: var(--nrt-mobile-header);
        position: sticky;
        top: 0;
        z-index: 100;
        background: var(--nrt-white);
        border-bottom: 1px solid var(--nrt-gray-200);
    }

    .nrt-topbar-left {
        gap: 8px;
    }

    .nrt-brand {
        gap: 6px;
    }

    .nrt-brand-logo {
        width: 28px;
        height: 28px;
    }

    .nrt-brand-name {
        display: none;
    }

    /* Hide desktop nav in header - moved to bottom */
    .nrt-nav {
        display: none;
    }

    /* Mobile search button */
    .nrt-search {
        display: none;
    }

    .nrt-topbar-right {
        gap: 8px;
    }

    /* Show mobile search icon */
    .nrt-mobile-search-btn {
        display: flex;
    }

    .nrt-icon-btn {
        width: 40px;
        height: 40px;
    }

    .nrt-user-name {
        display: none;
    }

    .nrt-user-avatar,
    .nrt-user-initials {
        width: 32px;
        height: 32px;
    }

    .nrt-user-chevron {
        display: none;
    }

    /* ============================================
       MOBILE PANELS - Full width views
       ============================================ */
    .nrt-stories-panel {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        max-width: none;
        height: 100%;
        border-right: none;
        background: var(--nrt-white);
        z-index: 10;
        transform: translateX(0);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* When article is open, slide stories panel left */
    .nrt-terminal.article-open .nrt-stories-panel {
        transform: translateX(-100%);
    }

    .nrt-content-panel {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        padding: 0;
        background: var(--nrt-white);
        z-index: 20;
        transform: translateX(100%);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* When article is open, slide content panel in */
    .nrt-terminal.article-open .nrt-content-panel {
        transform: translateX(0);
    }

    /* Mobile back button for article view */
    .nrt-mobile-back {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 12px 16px;
        background: var(--nrt-white);
        border-bottom: 1px solid var(--nrt-gray-200);
        position: sticky;
        top: 0;
        z-index: 30;
    }

    .nrt-mobile-back-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        background: transparent;
        border: none;
        cursor: pointer;
        border-radius: 50%;
        color: var(--nrt-gray-700);
        transition: background 0.15s ease;
    }

    .nrt-mobile-back-btn:active {
        background: var(--nrt-gray-100);
    }

    .nrt-mobile-back-btn svg {
        width: 24px;
        height: 24px;
    }

    .nrt-mobile-back-title {
        flex: 1;
        font-size: 15px;
        font-weight: 600;
        color: var(--nrt-gray-900);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* ============================================
       MOBILE FILTER BAR - Horizontal scroll
       ============================================ */
    .nrt-filter-bar {
        padding: 12px 0;
        border-bottom: 1px solid var(--nrt-gray-200);
        background: var(--nrt-white);
        position: sticky;
        top: 0;
        z-index: 20;
    }

    .nrt-filter-row {
        display: flex;
        gap: 8px;
        padding: 0 16px;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch;
    }

    .nrt-filter-row::-webkit-scrollbar {
        display: none;
    }

    .nrt-filter-row--types {
        margin-bottom: 10px;
    }

    .nrt-filter-row--tags {
        flex-wrap: nowrap;
    }

    .nrt-filter-chip {
        flex-shrink: 0;
        padding: 8px 16px;
        font-size: 13px;
        border-radius: 20px;
        white-space: nowrap;
    }

    .nrt-filter-tag {
        flex-shrink: 0;
        padding: 6px 12px;
        font-size: 12px;
        white-space: nowrap;
    }

    .nrt-filter-count {
        margin: 8px 16px 0;
        padding: 8px 12px;
    }

    /* ============================================
       MOBILE STORY LIST - Card style
       ============================================ */
    .nrt-stories-list,
    .nrt-jobs-list {
        padding: 8px 0;
    }

    .nrt-story-card,
    .nrt-job-card {
        margin: 0;
        padding: 16px;
        border-radius: 0;
        border-bottom: 1px solid var(--nrt-gray-100);
        background: var(--nrt-white);
        transition: background 0.15s ease;
    }

    .nrt-story-card:active,
    .nrt-job-card:active {
        background: var(--nrt-gray-50);
    }

    .nrt-story-card.is-active,
    .nrt-job-card.is-active {
        border-left: none;
        background: var(--nrt-white);
    }

    .nrt-story-header {
        margin-bottom: 8px;
    }

    .nrt-story-time {
        font-size: 12px;
    }

    .nrt-story-title {
        font-size: 16px;
        line-height: 1.35;
        margin-bottom: 8px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .nrt-story-excerpt {
        font-size: 14px;
        line-height: 1.45;
        color: var(--nrt-gray-600);
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .nrt-story-meta {
        margin-top: 10px;
        gap: 8px;
    }

    .nrt-story-sector,
    .nrt-story-value {
        font-size: 11px;
        padding: 3px 8px;
    }

    .nrt-stories-footer {
        padding: 16px;
        border-top: 1px solid var(--nrt-gray-200);
    }

    .nrt-load-more {
        width: 100%;
        padding: 14px;
        font-size: 14px;
        border-radius: 8px;
    }

    /* ============================================
       MOBILE JOB CARDS
       ============================================ */
    .nrt-job-card {
        padding: 14px 16px;
    }

    .nrt-job-title {
        font-size: 15px;
        margin-bottom: 6px;
    }

    .nrt-job-company {
        font-size: 13px;
        margin-bottom: 8px;
    }

    .nrt-job-meta {
        gap: 12px;
    }

    .nrt-job-location,
    .nrt-job-type {
        font-size: 12px;
    }

    /* ============================================
       MOBILE ARTICLE VIEW
       ============================================ */
    .nrt-article {
        padding: 0 16px 24px;
        max-width: none;
    }

    .nrt-article-header {
        padding: 16px 0;
    }

    .nrt-article-meta-row {
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 12px;
    }

    .nrt-methodology-badge,
    .nrt-article-type,
    .nrt-article-sector {
        font-size: 11px;
    }

    .nrt-article-title {
        font-size: 22px;
        line-height: 1.25;
    }

    .nrt-article-badges {
        flex-wrap: wrap;
        gap: 6px;
        margin-top: 12px;
    }

    .nrt-company-badge,
    .nrt-deal-badge,
    .nrt-region-badge {
        font-size: 11px;
        padding: 4px 8px;
    }

    /* Mobile author byline - stack on small screens */
    .nrt-article-byline {
        flex-direction: column;
        gap: 12px;
        padding: 16px 0;
        border-top: 1px solid var(--nrt-gray-200);
        border-bottom: 1px solid var(--nrt-gray-200);
        margin: 16px 0;
    }

    .nrt-article-byline .nrt-author-avatar {
        width: 44px !important;
        height: 44px !important;
        max-width: 44px !important;
        min-width: 44px !important;
    }

    .nrt-author-info {
        flex: 1;
    }

    .nrt-author-name {
        font-size: 14px;
    }

    .nrt-author-meta {
        flex-wrap: wrap;
        gap: 4px;
    }

    .nrt-author-title {
        font-size: 12px;
    }

    .nrt-article-actions-top {
        width: 100%;
        display: flex;
        justify-content: flex-end;
        margin-top: 4px;
    }

    /* Hide PDF button text on mobile */
    .nrt-pdf-btn span {
        display: none;
    }

    .nrt-pdf-btn {
        padding: 8px;
    }

    /* ============================================
       MOBILE VIEW TOGGLE
       ============================================ */
    .nrt-view-toggle-container {
        padding: 12px 16px;
        justify-content: center;
    }

    .nrt-view-toggle {
        width: 100%;
        max-width: 300px;
    }

    .nrt-view-toggle-btn {
        flex: 1;
        justify-content: center;
        padding: 10px;
        font-size: 13px;
    }

    .nrt-view-toggle-btn svg {
        width: 16px;
        height: 16px;
    }

    /* ============================================
       MOBILE EXECUTIVE SUMMARY
       ============================================ */
    .nrt-executive-summary {
        padding: 16px;
        margin: 0 0 16px;
        border-radius: 8px;
    }

    .nrt-exec-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        margin-bottom: 12px;
    }

    .nrt-exec-label {
        font-size: 14px;
    }

    .nrt-exec-thesis {
        font-size: 14px;
        line-height: 1.5;
    }

    .nrt-exec-metrics {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        margin: 16px 0;
    }

    .nrt-exec-metric {
        padding: 12px 10px;
    }

    .nrt-exec-metric-value {
        font-size: 18px;
    }

    .nrt-exec-metric-value.is-highlight {
        font-size: 20px;
    }

    .nrt-exec-metric-label {
        font-size: 11px;
    }

    .nrt-exec-takeaways {
        padding: 12px 14px;
    }

    .nrt-exec-takeaways-title {
        font-size: 12px;
    }

    .nrt-exec-takeaways-list li {
        font-size: 13px;
        padding-left: 28px;
    }

    .nrt-takeaway-num {
        width: 18px;
        height: 18px;
        font-size: 10px;
    }

    /* ============================================
       MOBILE CONTENT SECTIONS
       ============================================ */
    .nrt-content-section {
        margin-bottom: 20px;
    }

    .nrt-section-title {
        font-size: 16px;
        padding: 10px 0;
        margin-bottom: 12px;
    }

    .nrt-section-icon svg {
        width: 16px;
        height: 16px;
    }

    .nrt-section-content {
        font-size: 15px;
        line-height: 1.6;
    }

    .nrt-section-content p {
        margin-bottom: 14px;
    }

    /* ============================================
       MOBILE CHARTS
       ============================================ */
    .nrt-inline-chart {
        margin: 16px 0;
    }

    .nrt-chart-card {
        border-radius: 8px;
    }

    .nrt-chart-header {
        padding: 12px;
    }

    .nrt-chart-icon {
        width: 32px;
        height: 32px;
    }

    .nrt-chart-title {
        font-size: 14px;
    }

    .nrt-chart-subtitle {
        font-size: 12px;
    }

    .nrt-chart-body {
        padding: 12px;
        min-height: 180px;
    }

    .nrt-chart-narrative {
        padding: 12px;
    }

    .nrt-chart-narrative-header {
        font-size: 11px;
    }

    .nrt-chart-narrative-points li {
        font-size: 12px;
        padding-left: 14px;
    }

    .nrt-chart-footer {
        padding: 10px 12px;
    }

    .nrt-chart-source {
        font-size: 10px;
    }

    .nrt-donut-chart {
        flex-direction: column;
        gap: 16px;
    }

    .nrt-donut-svg {
        max-width: 160px;
    }

    /* ============================================
       MOBILE AUTHOR BIO BOX
       ============================================ */
    .nrt-author-bio-box {
        margin: 20px 0;
        padding: 16px;
        border-radius: 8px;
    }

    .nrt-author-bio-header {
        padding-bottom: 10px;
        margin-bottom: 12px;
        font-size: 12px;
    }

    .nrt-author-bio-content {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 12px;
    }

    .nrt-author-bio-avatar img,
    .nrt-author-bio-avatar-placeholder {
        width: 64px !important;
        height: 64px !important;
        max-width: 64px !important;
        min-width: 64px !important;
    }

    .nrt-author-bio-name {
        font-size: 16px;
    }

    .nrt-author-bio-title {
        font-size: 13px;
    }

    .nrt-author-bio-description {
        font-size: 13px;
        line-height: 1.5;
    }

    .nrt-author-bio-social {
        justify-content: center;
    }

    /* ============================================
       MOBILE RELATED RESEARCH
       ============================================ */
    .nrt-related-research {
        margin: 20px 0;
        padding: 16px;
    }

    .nrt-related-header {
        margin-bottom: 12px;
    }

    .nrt-related-title {
        font-size: 14px;
    }

    .nrt-related-item {
        padding: 12px;
    }

    .nrt-related-item-title {
        font-size: 14px;
    }

    .nrt-related-item-type,
    .nrt-related-item-date {
        font-size: 11px;
    }

    /* ============================================
       MOBILE ARTICLE FOOTER
       ============================================ */
    .nrt-article-footer {
        padding: 16px 0;
        margin-top: 20px;
        border-top: 1px solid var(--nrt-gray-200);
    }

    .nrt-article-actions {
        flex-wrap: wrap;
        gap: 8px;
    }

    .nrt-action-btn {
        flex: 1;
        min-width: calc(50% - 4px);
        justify-content: center;
        padding: 12px 16px;
        font-size: 13px;
        border-radius: 8px;
    }

    .nrt-action-primary {
        flex-basis: 100%;
    }

    .nrt-article-tags {
        margin-top: 16px;
        flex-wrap: wrap;
        gap: 6px;
    }

    .nrt-tag {
        font-size: 11px;
        padding: 4px 10px;
    }

    /* ============================================
       MOBILE SOURCE ATTRIBUTION
       ============================================ */
    .nrt-source-attribution {
        padding: 12px;
        margin: 16px 0;
    }

    .nrt-source-label {
        font-size: 11px;
    }

    .nrt-source-link,
    .nrt-source-name {
        font-size: 13px;
    }

    /* ============================================
       MOBILE DATA VIEW (Spreadsheet)
       ============================================ */
    .nrt-data-view {
        overflow-x: auto;
    }

    .nrt-spreadsheet {
        min-width: 500px;
    }

    .nrt-spreadsheet-header {
        padding: 10px 12px;
    }

    .nrt-data-table th,
    .nrt-data-table td {
        padding: 8px 10px;
        font-size: 12px;
    }

    .nrt-cell-header {
        font-size: 13px;
    }

    /* ============================================
       MOBILE BOTTOM NAVIGATION - LinkedIn Style
       ============================================ */
    .nrt-mobile-nav {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: calc(var(--nrt-mobile-bottom-nav) + var(--nrt-mobile-safe-bottom));
        padding-bottom: var(--nrt-mobile-safe-bottom);
        background: var(--nrt-white);
        border-top: 1px solid var(--nrt-gray-200);
        z-index: 1000;
        justify-content: space-around;
        align-items: flex-start;
    }

    .nrt-mobile-nav-item {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        padding: 10px 0;
        background: transparent;
        border: none;
        cursor: pointer;
        color: var(--nrt-gray-500);
        text-decoration: none;
        transition: color 0.15s ease;
        height: var(--nrt-mobile-bottom-nav);
    }

    .nrt-mobile-nav-item svg {
        width: 24px;
        height: 24px;
        stroke-width: 1.5;
    }

    .nrt-mobile-nav-item span {
        font-size: 10px;
        font-weight: 500;
        font-family: var(--nrt-font-sans);
    }

    .nrt-mobile-nav-item.is-active {
        color: var(--nrt-navy-800);
    }

    .nrt-mobile-nav-item.is-active svg {
        stroke-width: 2;
    }

    .nrt-mobile-nav-item:active {
        opacity: 0.7;
    }

    /* ============================================
       MOBILE SEARCH OVERLAY
       ============================================ */
    .nrt-mobile-search-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--nrt-white);
        z-index: 2000;
        display: none;
        flex-direction: column;
    }

    .nrt-mobile-search-overlay.is-active {
        display: flex;
    }

    .nrt-mobile-search-header {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 8px 12px;
        border-bottom: 1px solid var(--nrt-gray-200);
    }

    .nrt-mobile-search-close {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        background: transparent;
        border: none;
        cursor: pointer;
        color: var(--nrt-gray-700);
        border-radius: 50%;
    }

    .nrt-mobile-search-close:active {
        background: var(--nrt-gray-100);
    }

    .nrt-mobile-search-close svg {
        width: 24px;
        height: 24px;
    }

    .nrt-mobile-search-input-wrap {
        flex: 1;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 14px;
        background: var(--nrt-gray-100);
        border-radius: 24px;
    }

    .nrt-mobile-search-input-wrap svg {
        width: 20px;
        height: 20px;
        color: var(--nrt-gray-400);
        flex-shrink: 0;
    }

    .nrt-mobile-search-input {
        flex: 1;
        border: none;
        background: transparent;
        font-size: 16px;
        color: var(--nrt-gray-900);
        outline: none;
        font-family: var(--nrt-font-sans);
    }

    .nrt-mobile-search-input::placeholder {
        color: var(--nrt-gray-400);
    }

    .nrt-mobile-search-results {
        flex: 1;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .nrt-mobile-search-empty {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 48px 24px;
        color: var(--nrt-gray-500);
        text-align: center;
    }

    .nrt-mobile-search-empty svg {
        width: 48px;
        height: 48px;
        color: var(--nrt-gray-300);
        margin-bottom: 16px;
    }

    /* ============================================
       MOBILE LOADING STATES
       ============================================ */
    .nrt-loading-skeleton {
        animation: nrt-skeleton-pulse 1.5s ease-in-out infinite;
    }

    @keyframes nrt-skeleton-pulse {
        0%, 100% { opacity: 1; }
        50% { opacity: 0.4; }
    }

    .nrt-loading-spinner {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 24px;
    }

    .nrt-loading-spinner::after {
        content: '';
        width: 24px;
        height: 24px;
        border: 2px solid var(--nrt-gray-200);
        border-top-color: var(--nrt-blue-500);
        border-radius: 50%;
        animation: nrt-spin 0.8s linear infinite;
    }

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

    /* ============================================
       MOBILE PULL TO REFRESH INDICATOR
       ============================================ */
    .nrt-pull-indicator {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 16px;
        color: var(--nrt-gray-400);
        font-size: 12px;
        gap: 8px;
    }

    .nrt-pull-indicator svg {
        width: 16px;
        height: 16px;
    }

    /* ============================================
       MOBILE EMPTY STATES
       ============================================ */
    .nrt-content-empty {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 48px 24px;
        text-align: center;
        color: var(--nrt-gray-500);
    }

    .nrt-content-empty svg {
        width: 64px;
        height: 64px;
        color: var(--nrt-gray-300);
        margin-bottom: 16px;
    }

    .nrt-content-empty p {
        font-size: 15px;
        margin: 0;
    }

    /* ============================================
       MOBILE TAB CONTENT
       ============================================ */
    .nrt-tab-content {
        display: none;
        height: 100%;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .nrt-tab-content.is-active {
        display: block;
    }

    /* ============================================
       MOBILE SUBSCRIPTION BOX
       ============================================ */
    .nrt-subscription-box {
        padding: 20px;
        margin: 16px;
        border-radius: 12px;
    }

    .nrt-subscription-title {
        font-size: 18px;
    }

    .nrt-subscription-subtitle {
        font-size: 13px;
    }

    .nrt-plan-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .nrt-plan-card {
        padding: 16px;
    }

    .nrt-plan-card__name {
        font-size: 16px;
    }

    .nrt-plan-card__price-value {
        font-size: 24px;
    }

    .nrt-plan-select {
        padding: 14px;
        font-size: 15px;
    }

    /* ============================================
       MOBILE ACCESSIBILITY
       ============================================ */
    @media (prefers-reduced-motion: reduce) {
        .nrt-stories-panel,
        .nrt-content-panel {
            transition: none;
        }
    }

    /* Larger touch targets */
    button, a {
        min-height: 44px;
        min-width: 44px;
    }

    /* Focus states for accessibility */
    .nrt-story-card:focus,
    .nrt-job-card:focus,
    .nrt-mobile-nav-item:focus {
        outline: 2px solid var(--nrt-blue-500);
        outline-offset: 2px;
    }
}

/* ============================================
   PRINT STYLES
   ============================================ */

@media print {
    .nrt-terminal {
        position: static;
        height: auto;
        overflow: visible;
    }

    .nrt-topbar,
    .nrt-stories-panel,
    .nrt-article-actions {
        display: none !important;
    }

    .nrt-main {
        display: block;
    }

    .nrt-content-panel {
        overflow: visible;
        padding: 0;
    }

    .nrt-article {
        max-width: none;
    }

    .nrt-metrics-bar {
        background: #f4f4f5 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .nrt-metric-value,
    .nrt-metric-label {
        color: #18181b !important;
    }

    /* Executive Summary print */
    .nrt-executive-summary {
        border: 1px solid #d4d4d8;
        page-break-inside: avoid;
    }

    .nrt-exec-badge {
        background: #dbeafe !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .nrt-exec-metric {
        background: #fafafa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .nrt-exec-takeaways {
        border-left: 3px solid #1e6b4a !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .nrt-takeaway-num {
        background: #0f2137 !important;
        color: #ffffff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* Content sections print */
    .nrt-content-section {
        page-break-inside: avoid;
    }

    .nrt-inline-chart,
    .nrt-chart-card {
        page-break-inside: avoid;
        border: 1px solid #d4d4d8;
    }

    /* Source and badges print */
    .nrt-source-attribution {
        page-break-inside: avoid;
    }

    .nrt-ai-badge {
        background: #dbeafe !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .nrt-article-badges {
        page-break-inside: avoid;
    }
}

/* ============================================
 * RESEARCH ARTICLE COMPONENTS
 * Methodology badge, author byline, chart narrative,
 * related research, and research disclaimer
 * ============================================ */

/* Methodology Badge */
.nrt-methodology-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    background: linear-gradient(135deg, var(--nrt-navy-800) 0%, var(--nrt-navy-700) 100%);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 4px;
}

.nrt-methodology-badge svg {
    opacity: 0.8;
}

/* Author/Analyst Byline */
.nrt-article-byline {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 0;
    margin-top: 16px;
    border-top: 1px solid var(--nrt-gray-200);
}

.nrt-author-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--nrt-cream-200);
}

.nrt-author-avatar-placeholder {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--nrt-navy-700);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.nrt-author-avatar-placeholder svg {
    width: 24px;
    height: 24px;
}

.nrt-author-info {
    flex: 1;
}

.nrt-author-name {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-navy-800);
    text-decoration: none;
    transition: color 0.2s ease;
}

.nrt-author-name:hover {
    color: var(--nrt-blue-600);
}

.nrt-author-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 13px;
    color: var(--nrt-gray-500);
    margin-top: 2px;
}

.nrt-author-title {
    color: var(--nrt-gray-600);
}

.nrt-meta-dot {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--nrt-gray-400);
}

.nrt-article-actions-top {
    margin-left: auto;
}

/* PDF Download Button */
.nrt-pdf-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--nrt-cream-200);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 6px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-gray-700);
    cursor: pointer;
    transition: all 0.2s ease;
}

.nrt-pdf-btn:hover {
    background: var(--nrt-navy-800);
    color: #fff;
    border-color: var(--nrt-navy-800);
}

.nrt-pdf-btn svg {
    width: 16px;
    height: 16px;
}

/* Chart Narrative */
.nrt-chart-narrative {
    padding: 14px 16px;
    background: linear-gradient(135deg, var(--nrt-cream-100) 0%, var(--nrt-cream-50) 100%);
    border-top: 1px solid var(--nrt-gray-200);
}

.nrt-chart-narrative-header {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--nrt-navy-700);
}

.nrt-chart-narrative-header svg {
    color: var(--nrt-blue-600);
}

.nrt-chart-narrative-points {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nrt-chart-narrative-points li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    line-height: 1.5;
    color: var(--nrt-gray-700);
}

.nrt-chart-narrative-points li:last-child {
    margin-bottom: 0;
}

.nrt-chart-narrative-points li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--nrt-blue-500);
}

/* Related Research Section */
.nrt-related-research {
    margin-top: 32px;
    padding: 24px;
    background: var(--nrt-cream-100);
    border-radius: 12px;
    border: 1px solid var(--nrt-gray-200);
}

.nrt-related-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.nrt-related-header svg {
    color: var(--nrt-navy-700);
}

.nrt-related-title {
    margin: 0;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-navy-800);
}

.nrt-related-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nrt-related-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.nrt-related-item:hover {
    border-color: var(--nrt-blue-400);
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.1);
    transform: translateX(4px);
}

.nrt-related-item-content {
    flex: 1;
    min-width: 0;
}

.nrt-related-item-type {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--nrt-blue-600);
    margin-bottom: 4px;
}

.nrt-related-item-title {
    margin: 0;
    font-family: 'Noto Serif', Georgia, serif;
    font-size: 14px;
    font-weight: 500;
    color: var(--nrt-navy-800);
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nrt-related-item-date {
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin-top: 4px;
}

.nrt-related-arrow {
    color: var(--nrt-gray-400);
    flex-shrink: 0;
    margin-left: 12px;
    transition: transform 0.2s ease;
}

.nrt-related-item:hover .nrt-related-arrow {
    color: var(--nrt-blue-600);
    transform: translateX(4px);
}

/* Chart card update for narrative */
.nrt-chart-card {
    display: flex;
    flex-direction: column;
}

.nrt-chart-footer {
    margin-top: auto;
}

/* Mobile responsive for new components */
@media (max-width: 768px) {
    .nrt-article-byline {
        flex-wrap: wrap;
    }

    .nrt-article-actions-top {
        width: 100%;
        margin-left: 0;
        margin-top: 12px;
    }

    .nrt-pdf-btn {
        width: 100%;
        justify-content: center;
    }

    .nrt-author-meta {
        font-size: 12px;
    }

    .nrt-related-research {
        padding: 16px;
    }

    .nrt-related-item-title {
        white-space: normal;
    }

    .nrt-chart-narrative-points li {
        font-size: 12px;
    }
}

/* ============================================
 * VIEW TOGGLE & DATA VIEW
 * Report/Data toggle and spreadsheet-style table
 * ============================================ */

/* View Toggle Container */
.nrt-view-toggle-container {
    display: flex;
    justify-content: flex-end;
    padding: 12px 0;
    margin-bottom: 8px;
    border-bottom: 1px solid var(--nrt-gray-200);
}

.nrt-view-toggle {
    display: inline-flex;
    background: var(--nrt-cream-200);
    border-radius: 8px;
    padding: 4px;
    gap: 2px;
}

.nrt-view-toggle-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: transparent;
    border: none;
    border-radius: 6px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-gray-600);
    cursor: pointer;
    transition: all 0.2s ease;
}

.nrt-view-toggle-btn svg {
    width: 16px;
    height: 16px;
}

.nrt-view-toggle-btn:hover {
    color: var(--nrt-navy-800);
    background: rgba(255, 255, 255, 0.5);
}

.nrt-view-toggle-btn.is-active {
    background: #fff;
    color: var(--nrt-navy-800);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Panel Views */
.nrt-panel-view {
    min-height: 400px;
}

.nrt-report-view.is-active,
.nrt-data-view.is-active {
    display: block;
}

/* Data View - Spreadsheet */
.nrt-data-view {
    background: #fff;
    border-radius: 8px;
    border: 1px solid var(--nrt-gray-200);
    overflow: hidden;
}

.nrt-spreadsheet {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 500px;
}

.nrt-spreadsheet-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: linear-gradient(135deg, #1e6b4a 0%, #0f5132 100%);
    color: #fff;
}

.nrt-spreadsheet-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
}

.nrt-spreadsheet-title svg {
    width: 18px;
    height: 18px;
    opacity: 0.9;
}

.nrt-excel-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s ease;
}

.nrt-excel-btn:hover {
    background: rgba(255, 255, 255, 0.25);
}

.nrt-excel-btn svg {
    width: 16px;
    height: 16px;
}

/* Data Table */
.nrt-data-table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono', monospace;
    font-size: 13px;
    flex: 1;
}

.nrt-data-table thead {
    position: sticky;
    top: 0;
    z-index: 10;
}

.nrt-data-table th {
    padding: 8px 12px;
    background: #f0f0f0;
    border: 1px solid #d0d0d0;
    font-weight: 600;
    text-align: center;
    color: var(--nrt-gray-600);
    font-size: 12px;
}

.nrt-col-row {
    width: 40px;
    background: #e8e8e8 !important;
}

.nrt-col-a { width: 30%; }
.nrt-col-b { width: 35%; }
.nrt-col-c { width: 25%; }

.nrt-data-table td {
    padding: 10px 12px;
    border: 1px solid #e0e0e0;
    vertical-align: top;
}

.nrt-row-num {
    background: #f5f5f5;
    color: var(--nrt-gray-500);
    text-align: center;
    font-size: 11px;
    width: 40px;
}

.nrt-cell {
    background: #fff;
    color: var(--nrt-gray-800);
}

.nrt-cell-header {
    background: linear-gradient(135deg, var(--nrt-navy-800) 0%, var(--nrt-navy-700) 100%);
    color: #fff !important;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.3px;
}

.nrt-cell-label {
    background: #f8f8f8;
    color: var(--nrt-gray-600);
    font-weight: 500;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nrt-cell-input {
    background: #fffff8;
    color: var(--nrt-navy-800);
    font-weight: 600;
}

.nrt-cell-type {
    background: #f8f8ff;
    color: var(--nrt-gray-500);
    font-size: 11px;
    font-style: italic;
}

.nrt-cell-external {
    background: #fff8f0;
    color: var(--nrt-blue-600);
}

.nrt-row-header td {
    border-top: 2px solid var(--nrt-navy-800);
}

.nrt-row-subheader td {
    border-bottom: 2px solid #d0d0d0;
}

.nrt-row-spacer td {
    height: 16px;
    background: #fafafa;
}

.nrt-row-source td {
    font-size: 11px;
    background: #fafafa;
}

/* Spreadsheet Footer */
.nrt-spreadsheet-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    background: #f5f5f5;
    border-top: 1px solid #e0e0e0;
}

.nrt-sheet-tabs {
    display: flex;
    gap: 4px;
}

.nrt-sheet-tab {
    padding: 6px 12px;
    background: #fff;
    border: 1px solid #d0d0d0;
    border-bottom: none;
    border-radius: 4px 4px 0 0;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: var(--nrt-gray-700);
}

.nrt-sheet-tab.is-active {
    background: #fff;
    border-bottom: 2px solid #fff;
    margin-bottom: -1px;
    font-weight: 500;
}

.nrt-spreadsheet-note {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: var(--nrt-gray-500);
}

/* Mobile responsive for data view */
@media (max-width: 768px) {
    .nrt-view-toggle-container {
        justify-content: center;
    }

    .nrt-view-toggle-btn span {
        display: none;
    }

    .nrt-view-toggle-btn {
        padding: 10px 14px;
    }

    .nrt-spreadsheet {
        min-height: 400px;
    }

    .nrt-data-table {
        font-size: 11px;
    }

    .nrt-data-table th,
    .nrt-data-table td {
        padding: 6px 8px;
    }

    .nrt-col-a { width: 35%; }
    .nrt-col-b { width: 35%; }
    .nrt-col-c { width: 20%; }
}

/* ============================================
   ADVANCED JOB CONTENT STYLES
   Rich job intelligence sections from [sffc_job_opportunities_advanced]
   ============================================ */

/* Hero Section with Match Donut */
.nrt-job-advanced .nrt-job-hero {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--nrt-gray-200);
    margin-bottom: 24px;
}

.nrt-job-hero-content {
    display: flex;
    gap: 32px;
    align-items: flex-start;
}

.nrt-job-hero-left {
    flex: 1;
}

.nrt-job-hero-badges {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

.nrt-job-hero-title {
    font-family: var(--nrt-font-serif);
    font-size: 28px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    line-height: 1.3;
    margin: 0 0 16px 0;
}

.nrt-job-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 16px;
}

.nrt-job-hero-meta span {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: var(--nrt-gray-600);
}

.nrt-job-hero-meta svg {
    color: var(--nrt-gray-400);
    flex-shrink: 0;
}

.nrt-job-meta-company {
    font-weight: 500;
    color: var(--nrt-gray-800) !important;
}

.nrt-job-meta-salary {
    color: var(--nrt-green-600) !important;
    font-weight: 500;
}

.nrt-job-hero-summary {
    margin-top: 12px;
}

.nrt-job-hero-summary p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--nrt-gray-600);
    margin: 0;
}

/* Hero Match Donut */
.nrt-job-hero-match {
    flex-shrink: 0;
    width: 140px;
}

/* Adapt the sffc donut styles for nrt context */
.nrt-job-hero-match .sffc-hero-match-container {
    background: transparent;
    padding: 0;
}

.nrt-job-hero-match .sffc-hero-donut {
    width: 120px;
    height: 120px;
    position: relative;
    margin: 0 auto;
}

.nrt-job-hero-match .sffc-donut-svg {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.nrt-job-hero-match .sffc-donut-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.nrt-job-hero-match .sffc-donut-score {
    font-size: 24px;
    font-weight: 700;
    color: var(--nrt-gray-900);
}

.nrt-job-hero-match .sffc-donut-label {
    font-size: 11px;
    color: var(--nrt-gray-500);
    display: block;
    margin-top: 2px;
}

.nrt-job-hero-match .sffc-match-legend {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 12px;
    margin-top: 12px;
    font-size: 10px;
}

.nrt-job-hero-match .sffc-legend-item {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--nrt-gray-600);
}

.nrt-job-hero-match .sffc-legend-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* Quick Stats Bar */
.nrt-job-quick-stats {
    margin-bottom: 16px;
}

.nrt-job-quick-stats .sffc-quick-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    background: var(--nrt-gray-50);
    padding: 16px 20px;
    border-radius: 12px;
    border: 1px solid var(--nrt-gray-200);
}

.nrt-job-quick-stats .sffc-stat-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

.nrt-job-quick-stats .sffc-stat-icon {
    width: 32px;
    height: 32px;
    background: var(--nrt-white);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nrt-blue-500);
}

.nrt-job-quick-stats .sffc-stat-value {
    font-weight: 600;
    color: var(--nrt-gray-900);
}

.nrt-job-quick-stats .sffc-stat-label {
    font-size: 12px;
    color: var(--nrt-gray-500);
}

/* Hero Actions */
.nrt-job-hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* Content Sections */
.nrt-job-body {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.nrt-job-body .nrt-content-section {
    padding: 24px;
    background: var(--nrt-white);
    border-radius: 12px;
    border: 1px solid var(--nrt-gray-200);
}

.nrt-job-body .nrt-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 20px 0;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--nrt-gray-100);
}

.nrt-job-body .nrt-section-title svg {
    color: var(--nrt-blue-500);
    flex-shrink: 0;
}

.nrt-section-badge {
    font-size: 10px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 3px 8px;
    border-radius: 4px;
    background: var(--nrt-blue-100);
    color: var(--nrt-blue-700);
}

/* At a Glance Section */
.nrt-at-a-glance .sffc-glance-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}

.nrt-at-a-glance .sffc-glance-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: var(--nrt-gray-50);
    border-radius: 10px;
    border: 1px solid var(--nrt-gray-100);
}

.nrt-at-a-glance .sffc-glance-icon {
    width: 40px;
    height: 40px;
    background: var(--nrt-white);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nrt-blue-500);
    flex-shrink: 0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.nrt-at-a-glance .sffc-glance-content {
    flex: 1;
}

.nrt-at-a-glance .sffc-glance-label {
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin-bottom: 4px;
}

.nrt-at-a-glance .sffc-glance-value {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-900);
}

/* Firm Pulse Section */
.nrt-firm-pulse .sffc-firm-pulse-container,
.nrt-firm-pulse .sffc-firm-pulse-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.nrt-firm-pulse .sffc-pulse-card {
    background: var(--nrt-gray-50);
    border-radius: 10px;
    padding: 20px;
    border: 1px solid var(--nrt-gray-100);
}

.nrt-firm-pulse .sffc-pulse-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.nrt-firm-pulse .sffc-pulse-card-icon {
    width: 36px;
    height: 36px;
    background: var(--nrt-white);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nrt-blue-500);
}

.nrt-firm-pulse .sffc-pulse-card-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0;
}

.nrt-firm-pulse .sffc-pulse-metric {
    font-size: 28px;
    font-weight: 700;
    color: var(--nrt-gray-900);
    margin-bottom: 4px;
}

.nrt-firm-pulse .sffc-pulse-label {
    font-size: 12px;
    color: var(--nrt-gray-500);
}

.nrt-firm-pulse .sffc-pulse-trend {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 500;
    padding: 2px 8px;
    border-radius: 4px;
    margin-top: 8px;
}

.nrt-firm-pulse .sffc-pulse-trend.positive {
    background: rgba(16, 185, 129, 0.1);
    color: #059669;
}

.nrt-firm-pulse .sffc-pulse-trend.negative {
    background: rgba(239, 68, 68, 0.1);
    color: #dc2626;
}

/* Role Reality Section */
.nrt-role-reality .sffc-reality-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nrt-role-reality .sffc-reality-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: var(--nrt-gray-50);
    border-radius: 10px;
    border-left: 3px solid var(--nrt-blue-500);
}

.nrt-role-reality .sffc-reality-icon {
    width: 24px;
    height: 24px;
    background: var(--nrt-blue-100);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nrt-blue-600);
    flex-shrink: 0;
}

.nrt-role-reality .sffc-reality-text {
    font-size: 14px;
    line-height: 1.6;
    color: var(--nrt-gray-700);
}

/* Interview Prep Section */
.nrt-interview-prep .sffc-interview-stages {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.nrt-interview-prep .sffc-stage-card {
    background: var(--nrt-gray-50);
    border-radius: 10px;
    padding: 20px;
    border: 1px solid var(--nrt-gray-100);
}

.nrt-interview-prep .sffc-stage-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--nrt-gray-200);
}

.nrt-interview-prep .sffc-stage-number {
    width: 28px;
    height: 28px;
    background: var(--nrt-blue-500);
    color: var(--nrt-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 600;
}

.nrt-interview-prep .sffc-stage-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0;
}

.nrt-interview-prep .sffc-stage-content ul {
    margin: 0;
    padding: 0 0 0 20px;
    list-style-type: disc;
}

.nrt-interview-prep .sffc-stage-content li {
    font-size: 13px;
    line-height: 1.6;
    color: var(--nrt-gray-700);
    margin-bottom: 8px;
}

/* Compensation Intel Section */
.nrt-comp-intel .sffc-comp-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

.nrt-comp-intel .sffc-comp-range {
    background: var(--nrt-gray-50);
    border-radius: 10px;
    padding: 20px;
    text-align: center;
}

.nrt-comp-intel .sffc-comp-value {
    font-size: 28px;
    font-weight: 700;
    color: var(--nrt-green-600);
    margin-bottom: 4px;
}

.nrt-comp-intel .sffc-comp-label {
    font-size: 12px;
    color: var(--nrt-gray-500);
}

.nrt-comp-intel .sffc-comp-bar {
    height: 12px;
    background: var(--nrt-gray-200);
    border-radius: 6px;
    margin-top: 20px;
    position: relative;
    overflow: hidden;
}

.nrt-comp-intel .sffc-comp-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--nrt-green-500), var(--nrt-green-400));
    border-radius: 6px;
}

/* Location Intelligence */
.nrt-content-section .sffc-location-intelligence {
    background: transparent;
    padding: 0;
}

.nrt-content-section .sffc-location-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px;
}

.nrt-content-section .sffc-location-card {
    background: var(--nrt-gray-50);
    border-radius: 10px;
    padding: 16px;
    border: 1px solid var(--nrt-gray-100);
}

.nrt-content-section .sffc-location-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.nrt-content-section .sffc-location-icon {
    color: var(--nrt-blue-500);
}

.nrt-content-section .sffc-location-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0;
}

/* Application Checklist Section */
.nrt-app-checklist .sffc-checklist-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
}

.nrt-app-checklist .sffc-checklist-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    background: var(--nrt-gray-50);
    border-radius: 8px;
    border: 1px solid var(--nrt-gray-100);
    cursor: pointer;
    transition: all 0.2s ease;
}

.nrt-app-checklist .sffc-checklist-item:hover {
    background: var(--nrt-blue-50, #eff6ff);
    border-color: var(--nrt-blue-200, #bfdbfe);
}

.nrt-app-checklist .sffc-checklist-checkbox {
    width: 20px;
    height: 20px;
    border: 2px solid var(--nrt-gray-300);
    border-radius: 4px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: transparent;
    transition: all 0.2s ease;
}

.nrt-app-checklist .sffc-checklist-item.is-checked .sffc-checklist-checkbox {
    background: var(--nrt-green-500);
    border-color: var(--nrt-green-500);
    color: var(--nrt-white);
}

.nrt-app-checklist .sffc-checklist-text {
    font-size: 14px;
    line-height: 1.5;
    color: var(--nrt-gray-700);
}

/* Career Path Section */
.nrt-career-path .sffc-career-timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    padding-left: 24px;
}

.nrt-career-path .sffc-career-timeline::before {
    content: '';
    position: absolute;
    left: 7px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: linear-gradient(180deg, var(--nrt-blue-500), var(--nrt-green-500));
    border-radius: 1px;
}

.nrt-career-path .sffc-career-step {
    position: relative;
    padding: 16px 0;
}

.nrt-career-path .sffc-career-step::before {
    content: '';
    position: absolute;
    left: -24px;
    top: 22px;
    width: 16px;
    height: 16px;
    background: var(--nrt-white);
    border: 3px solid var(--nrt-blue-500);
    border-radius: 50%;
}

.nrt-career-path .sffc-career-step:last-child::before {
    border-color: var(--nrt-green-500);
}

.nrt-career-path .sffc-career-period {
    font-size: 12px;
    font-weight: 600;
    color: var(--nrt-blue-600);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}

.nrt-career-path .sffc-career-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin-bottom: 4px;
}

.nrt-career-path .sffc-career-desc {
    font-size: 13px;
    line-height: 1.6;
    color: var(--nrt-gray-600);
}

/* Questions Section */
.nrt-questions-section .sffc-questions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 16px;
}

.nrt-questions-section .sffc-question-card {
    display: flex;
    gap: 12px;
    padding: 16px;
    background: var(--nrt-gray-50);
    border-radius: 10px;
    border: 1px solid var(--nrt-gray-100);
}

.nrt-questions-section .sffc-question-icon {
    width: 32px;
    height: 32px;
    background: var(--nrt-blue-100);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nrt-blue-600);
    flex-shrink: 0;
}

.nrt-questions-section .sffc-question-text {
    font-size: 14px;
    line-height: 1.5;
    color: var(--nrt-gray-700);
}

.nrt-questions-section .sffc-question-why {
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin-top: 8px;
    font-style: italic;
}

/* Collapsible Description */
.nrt-collapsible {
    border: none;
}

.nrt-collapsible-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    list-style: none;
    padding: 0;
}

.nrt-collapsible-header::-webkit-details-marker {
    display: none;
}

.nrt-collapsible-header .nrt-section-title {
    margin: 0;
    padding: 0;
    border: none;
}

.nrt-collapsible-icon {
    transition: transform 0.2s ease;
    color: var(--nrt-gray-400);
}

.nrt-collapsible[open] .nrt-collapsible-icon {
    transform: rotate(180deg);
}

.nrt-collapsible .nrt-description-content {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--nrt-gray-100);
}

/* Application Toolkit */
.nrt-app-toolkit .sffc-toolkit-container {
    background: transparent;
    padding: 0;
    border: none;
}

.nrt-app-toolkit .sffc-toolkit-header {
    margin-bottom: 16px;
}

.nrt-app-toolkit .sffc-toolkit-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0;
}

.nrt-app-toolkit .sffc-toolkit-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}

.nrt-app-toolkit .sffc-toolkit-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 20px;
    background: var(--nrt-gray-50);
    border-radius: 10px;
    border: 1px solid var(--nrt-gray-100);
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.nrt-app-toolkit .sffc-toolkit-card:hover {
    background: var(--nrt-blue-50, #eff6ff);
    border-color: var(--nrt-blue-300);
    transform: translateY(-2px);
}

.nrt-app-toolkit .sffc-toolkit-icon {
    width: 48px;
    height: 48px;
    background: var(--nrt-white);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nrt-blue-500);
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.nrt-app-toolkit .sffc-toolkit-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-gray-700);
}

/* Footer */
.nrt-job-advanced .nrt-article-footer {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--nrt-gray-200);
}

/* ============================================
   JOB ARTICLE SPECIFIC STYLES
   Enhanced design matching story articles
   ============================================ */

/* Job Article Header */
.nrt-job-article .nrt-article-header {
    padding-bottom: 24px;
    border-bottom: 1px solid var(--nrt-gray-200);
    margin-bottom: 32px;
}

.nrt-job-article .nrt-article-byline {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 16px;
}

.nrt-job-article .nrt-article-byline span {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: var(--nrt-gray-600);
}

.nrt-job-article .nrt-article-byline svg {
    color: var(--nrt-gray-400);
}

.nrt-job-article .nrt-byline-company {
    font-weight: 500;
    color: var(--nrt-navy-800) !important;
}

.nrt-job-article .nrt-byline-salary {
    color: var(--nrt-green-600) !important;
    font-weight: 500;
}

/* Actions Bar */
.nrt-article-actions-bar {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 20px;
}

/* Salary Chart Styles */
.nrt-salary-chart {
    padding: 8px 0;
}

.nrt-salary-display {
    text-align: center;
    margin-bottom: 20px;
}

.nrt-salary-value {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: var(--nrt-green-600);
    margin-bottom: 4px;
}

.nrt-salary-label {
    font-size: 12px;
    color: var(--nrt-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nrt-salary-range {
    margin: 24px 0;
}

.nrt-salary-track {
    height: 8px;
    background: var(--nrt-gray-200);
    border-radius: 4px;
    position: relative;
}

.nrt-salary-fill {
    position: absolute;
    height: 100%;
    background: linear-gradient(90deg, var(--nrt-blue-500), var(--nrt-green-500));
    border-radius: 4px;
}

.nrt-salary-marker {
    position: absolute;
    top: -8px;
    transform: translateX(-50%);
}

.nrt-marker-dot {
    width: 12px;
    height: 12px;
    background: var(--nrt-navy-800);
    border: 2px solid var(--nrt-white);
    border-radius: 50%;
    display: block;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.nrt-marker-label {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 10px;
    color: var(--nrt-gray-500);
    white-space: nowrap;
}

.nrt-salary-this .nrt-marker-label {
    color: var(--nrt-navy-800);
    font-weight: 600;
}

.nrt-salary-breakdown {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 32px;
    padding-top: 16px;
    border-top: 1px solid var(--nrt-gray-100);
}

.nrt-salary-item {
    text-align: center;
}

.nrt-salary-item-label {
    display: block;
    font-size: 11px;
    color: var(--nrt-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 4px;
}

.nrt-salary-item-value {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-navy-800);
}

/* Role Reality Grid */
.nrt-role-reality-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    padding: 20px;
}

.nrt-reality-card {
    display: flex;
    gap: 14px;
    padding: 16px;
    background: var(--nrt-cream-50);
    border-radius: 10px;
    border-left: 3px solid var(--nrt-blue-500);
}

.nrt-reality-number {
    width: 28px;
    height: 28px;
    background: var(--nrt-blue-500);
    color: var(--nrt-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 600;
    flex-shrink: 0;
}

.nrt-reality-text {
    font-size: 14px;
    line-height: 1.6;
    color: var(--nrt-gray-700);
    margin: 0;
}

/* Interview Timeline */
.nrt-interview-timeline {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
    padding: 20px;
}

.nrt-interview-stage-card {
    background: var(--nrt-cream-50);
    border-radius: 10px;
    padding: 20px;
    border: 1px solid var(--nrt-gray-100);
}

.nrt-stage-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--nrt-gray-200);
}

.nrt-stage-number {
    width: 32px;
    height: 32px;
    background: var(--nrt-navy-800);
    color: var(--nrt-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
}

.nrt-stage-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0;
}

.nrt-stage-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.nrt-stage-section {
    /* Individual section within stage */
}

.nrt-stage-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: var(--nrt-blue-600);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.nrt-stage-list {
    margin: 0;
    padding: 0 0 0 18px;
    list-style-type: disc;
}

.nrt-stage-list li {
    font-size: 13px;
    line-height: 1.5;
    color: var(--nrt-gray-700);
    margin-bottom: 6px;
}

.nrt-stage-tip {
    font-size: 13px;
    line-height: 1.6;
    color: var(--nrt-gray-600);
    font-style: italic;
    margin: 0;
    padding-left: 12px;
    border-left: 2px solid var(--nrt-blue-300);
}

/* Career Visual */
.nrt-career-visual {
    padding: 20px;
    position: relative;
}

.nrt-career-visual::before {
    content: '';
    position: absolute;
    left: 34px;
    top: 40px;
    bottom: 40px;
    width: 2px;
    background: linear-gradient(180deg, var(--nrt-blue-500), var(--nrt-green-500));
}

.nrt-career-node {
    display: flex;
    gap: 16px;
    padding: 16px 0;
    position: relative;
}

.nrt-career-dot {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 3px solid;
    background: var(--nrt-white);
    flex-shrink: 0;
    z-index: 1;
}

.nrt-career-now {
    border-color: var(--nrt-blue-500);
}

.nrt-career-mid {
    border-color: var(--nrt-blue-400);
}

.nrt-career-exit {
    border-color: var(--nrt-green-500);
    background: var(--nrt-green-500);
}

.nrt-career-info {
    flex: 1;
    padding-top: 2px;
}

.nrt-career-period {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--nrt-blue-600);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}

.nrt-career-desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--nrt-gray-700);
    margin: 0;
}

/* Checklist Grid */
.nrt-checklist-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
    padding: 20px;
}

.nrt-checklist-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    background: var(--nrt-cream-50);
    border-radius: 8px;
    border: 1px solid var(--nrt-gray-100);
    cursor: pointer;
    transition: all 0.2s ease;
}

.nrt-checklist-item:hover {
    background: var(--nrt-blue-100);
    border-color: var(--nrt-blue-200);
}

.nrt-checkbox {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.nrt-checkbox-custom {
    width: 20px;
    height: 20px;
    border: 2px solid var(--nrt-gray-300);
    border-radius: 4px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.nrt-checkbox-custom::after {
    content: '';
    width: 10px;
    height: 6px;
    border: 2px solid var(--nrt-white);
    border-top: none;
    border-right: none;
    transform: rotate(-45deg) scale(0);
    transition: transform 0.15s ease;
}

.nrt-checkbox:checked + .nrt-checkbox-custom {
    background: var(--nrt-green-500);
    border-color: var(--nrt-green-500);
}

.nrt-checkbox:checked + .nrt-checkbox-custom::after {
    transform: rotate(-45deg) scale(1);
}

.nrt-checklist-text {
    font-size: 14px;
    line-height: 1.5;
    color: var(--nrt-gray-700);
}

/* Questions Grid */
.nrt-questions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 16px;
    padding: 20px;
}

.nrt-question-card {
    display: flex;
    gap: 12px;
    padding: 16px;
    background: var(--nrt-cream-50);
    border-radius: 10px;
    border: 1px solid var(--nrt-gray-100);
}

.nrt-question-icon {
    width: 32px;
    height: 32px;
    background: var(--nrt-blue-100);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nrt-blue-600);
    flex-shrink: 0;
}

.nrt-question-content {
    flex: 1;
}

.nrt-question-text {
    font-size: 14px;
    line-height: 1.5;
    color: var(--nrt-gray-800);
    margin: 0;
}

.nrt-question-why {
    display: block;
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin-top: 8px;
    font-style: italic;
}

/* Description Card */
.nrt-description-card {
    /* Card specific styles */
}

.nrt-collapsible-trigger {
    cursor: pointer;
    list-style: none;
}

.nrt-collapsible-trigger::-webkit-details-marker {
    display: none;
}

.nrt-collapsible-icon {
    margin-left: auto;
    transition: transform 0.2s ease;
    color: var(--nrt-gray-400);
}

.nrt-collapsible[open] .nrt-collapsible-icon {
    transform: rotate(180deg);
}

.nrt-description-body {
    padding: 20px;
    font-size: 14px;
    line-height: 1.7;
    color: var(--nrt-gray-700);
    border-top: 1px solid var(--nrt-gray-100);
}

.nrt-description-body h1,
.nrt-description-body h2,
.nrt-description-body h3,
.nrt-description-body h4 {
    color: var(--nrt-navy-800);
    margin-top: 24px;
    margin-bottom: 12px;
}

.nrt-description-body h2:first-child,
.nrt-description-body h3:first-child {
    margin-top: 0;
}

.nrt-description-body ul,
.nrt-description-body ol {
    margin: 12px 0;
    padding-left: 24px;
}

.nrt-description-body li {
    margin-bottom: 8px;
}

.nrt-description-body p {
    margin-bottom: 16px;
}

/* Firm Intel Section */
.nrt-firm-intel-section .nrt-charts-title {
    color: var(--nrt-navy-800);
}

/* Location Intelligence Chart */
.nrt-location-metrics {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.nrt-location-metric {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.nrt-metric-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nrt-metric-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-gray-700);
}

.nrt-metric-value {
    font-size: 14px;
    font-weight: 600;
}

.nrt-metric-bar {
    position: relative;
    height: 8px;
    border-radius: 4px;
    overflow: visible;
}

.nrt-metric-bar-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--nrt-gray-100);
    border-radius: 4px;
}

.nrt-metric-bar-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    border-radius: 4px;
    transition: width 0.3s ease;
}

.nrt-metric-bar-marker {
    position: absolute;
    top: -4px;
    width: 2px;
    height: 16px;
    background: var(--nrt-gray-400);
    border-radius: 1px;
}

.nrt-metric-note {
    font-size: 11px;
    color: var(--nrt-gray-500);
}

/* Salary Insight */
.nrt-salary-insight {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.08) 0%, rgba(59, 130, 246, 0.03) 100%);
    border-radius: 8px;
    margin-top: 12px;
    border-left: 3px solid var(--nrt-blue-500);
}

.nrt-salary-insight-icon {
    flex-shrink: 0;
    color: var(--nrt-blue-500);
    margin-top: 2px;
}

.nrt-salary-insight-text {
    font-size: 12px;
    color: var(--nrt-gray-700);
    line-height: 1.5;
}

/* Skills No Profile State */
.nrt-skills-no-profile {
    text-align: center;
    padding: 8px 12px;
    background: var(--nrt-gray-50);
    border-radius: 6px;
    margin-bottom: 12px;
}

.nrt-no-profile-msg {
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin: 0;
}

.nrt-bar-chart--no-profile .nrt-bar-track {
    opacity: 0.6;
}

.nrt-bar-required-tag {
    font-size: 10px;
    padding: 2px 6px;
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-600);
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Market Context (BLS Data) */
.nrt-market-context {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    background: var(--nrt-gray-50);
    border-radius: 6px;
    margin: 12px 0;
    border-left: 3px solid var(--nrt-blue-400);
}

.nrt-market-context-label {
    font-size: 12px;
    color: var(--nrt-gray-600);
}

.nrt-market-context-value {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-navy-800);
}

/* Economic Context Chart */
.nrt-economic-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.nrt-economic-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 12px 8px;
    background: var(--nrt-gray-50);
    border-radius: 8px;
}

.nrt-economic-label {
    font-size: 11px;
    color: var(--nrt-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}

.nrt-economic-value {
    font-size: 18px;
    font-weight: 700;
    color: var(--nrt-navy-800);
    line-height: 1.2;
}

.nrt-economic-year {
    font-size: 10px;
    color: var(--nrt-gray-400);
    margin-top: 4px;
}

@media (max-width: 480px) {
    .nrt-economic-metrics {
        grid-template-columns: 1fr;
    }

    .nrt-economic-item {
        flex-direction: row;
        justify-content: space-between;
        text-align: left;
    }

    .nrt-economic-label {
        margin-bottom: 0;
    }
}

/* Mobile Responsive for Job Article */
@media (max-width: 768px) {
    .nrt-job-article .nrt-article-byline {
        flex-direction: column;
        gap: 8px;
    }

    .nrt-article-actions-bar {
        flex-direction: column;
    }

    .nrt-article-actions-bar .nrt-btn {
        width: 100%;
        justify-content: center;
    }

    .nrt-salary-breakdown {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .nrt-role-reality-grid,
    .nrt-interview-timeline,
    .nrt-checklist-grid,
    .nrt-questions-grid {
        grid-template-columns: 1fr;
    }

    .nrt-career-visual::before {
        left: 24px;
    }
}

/* ============================================
   Locked Chart State (Sign In Required)
   ============================================ */
.nrt-chart-locked {
    position: relative;
}

.nrt-chart-locked-content {
    position: relative;
    min-height: 200px;
}

.nrt-blurred {
    filter: blur(8px);
    opacity: 0.6;
    pointer-events: none;
    user-select: none;
}

.nrt-chart-locked-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.75);
    border-radius: 8px;
    z-index: 10;
}

.nrt-locked-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--nrt-gray-100);
    border-radius: 50%;
    color: var(--nrt-gray-500);
}

.nrt-locked-icon svg {
    width: 24px;
    height: 24px;
}

.nrt-locked-text {
    font-size: 14px;
    font-weight: 500;
    color: var(--nrt-gray-700);
    margin: 0;
    text-align: center;
}

.nrt-btn--sm {
    padding: 8px 16px;
    font-size: 13px;
    border-radius: 6px;
}

/* Mobile responsive for locked state */
@media (max-width: 480px) {
    .nrt-chart-locked-content {
        min-height: 180px;
    }

    .nrt-locked-icon {
        width: 40px;
        height: 40px;
    }

    .nrt-locked-icon svg {
        width: 20px;
        height: 20px;
    }

    .nrt-locked-text {
        font-size: 13px;
    }
}

/* ============================================
   AUTHOR BIO BOX - Google News Compatible
   ============================================ */
.nrt-author-bio-box {
    margin: 32px 0;
    padding: 24px;
    background: var(--nrt-cream-50);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 12px;
}

.nrt-author-bio-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--nrt-gray-200);
    font-size: 13px;
    font-weight: 600;
    color: var(--nrt-gray-600);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nrt-author-bio-header svg {
    color: var(--nrt-blue-500);
}

.nrt-author-bio-content {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.nrt-author-bio-avatar {
    flex-shrink: 0;
}

.nrt-author-bio-avatar img {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 3px solid var(--nrt-white) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    max-width: 80px !important;
    min-width: 80px !important;
}

.nrt-author-bio-avatar-placeholder {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--nrt-gray-200);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid var(--nrt-white);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.nrt-author-bio-avatar-placeholder svg {
    width: 36px;
    height: 36px;
    color: var(--nrt-gray-400);
}

.nrt-author-bio-details {
    flex: 1;
    min-width: 0;
}

.nrt-author-bio-name {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: var(--nrt-gray-900);
    text-decoration: none;
    margin-bottom: 4px;
    transition: color 0.15s ease;
}

.nrt-author-bio-name:hover {
    color: var(--nrt-blue-600);
}

.nrt-author-bio-title {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: var(--nrt-blue-600);
    margin-bottom: 12px;
}

.nrt-author-bio-description {
    font-size: 14px;
    line-height: 1.6;
    color: var(--nrt-gray-600);
    margin: 0 0 12px 0;
}

.nrt-author-bio-social {
    display: flex;
    gap: 12px;
    margin-top: 12px;
}

.nrt-author-bio-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-600);
    text-decoration: none;
    transition: all 0.15s ease;
}

.nrt-author-bio-social-link:hover {
    background: var(--nrt-blue-600);
    color: var(--nrt-white);
}

.nrt-author-bio-social-link svg {
    width: 18px;
    height: 18px;
}

/* Author bio responsive */
@media (max-width: 640px) {
    .nrt-author-bio-box {
        padding: 20px;
        margin: 24px 0;
    }

    .nrt-author-bio-content {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .nrt-author-bio-avatar img,
    .nrt-author-bio-avatar-placeholder {
        width: 72px;
        height: 72px;
    }

    .nrt-author-bio-name {
        font-size: 16px;
    }

    .nrt-author-bio-title {
        font-size: 13px;
    }

    .nrt-author-bio-description {
        font-size: 13px;
    }

    .nrt-author-bio-social {
        justify-content: center;
    }
}

/* ============================================
   ENHANCED AUTHOR BYLINE (Header)
   ============================================ */
.nrt-article-byline .nrt-author-avatar {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 2px solid var(--nrt-white) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
    max-width: 48px !important;
    min-width: 48px !important;
}

.nrt-article-byline .nrt-author-avatar-placeholder {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--nrt-gray-200);
    display: flex;
    align-items: center;
    justify-content: center;
}

.nrt-article-byline .nrt-author-avatar-placeholder svg {
    width: 24px;
    height: 24px;
    color: var(--nrt-gray-400);
}

/* Author link styling */
.nrt-author-name[rel="author"] {
    color: var(--nrt-gray-900);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.15s ease;
}

.nrt-author-name[rel="author"]:hover {
    color: var(--nrt-blue-600);
}

/* Schema.org microdata styling - hide meta tags visually */
.nrt-article-byline meta,
.nrt-author-bio-box meta {
    display: none;
}

/* ==========================================================================
   PROFILE DASHBOARD STYLES
   Personalized Intelligence Dashboard for logged-in users
   ========================================================================== */

/* Profile Tab Container */
.nrt-tab-profile {
    padding: 0;
}

.nrt-profile-dashboard {
    padding: 24px;
    max-width: 800px;
    margin: 0 auto;
}

/* Profile Header */
.nrt-profile-header {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 24px;
    background: var(--nrt-cream-50);
    border-radius: 16px;
    border: 1px solid var(--nrt-cream-300);
    margin-bottom: 24px;
}

.nrt-profile-avatar {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--nrt-senna-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid var(--nrt-white);
    box-shadow: 0 2px 8px rgba(13, 53, 62, 0.15);
}

.nrt-profile-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nrt-profile-initials {
    font-size: 24px;
    font-weight: 600;
    color: var(--nrt-white);
    text-transform: uppercase;
}

.nrt-profile-info {
    flex: 1;
    min-width: 0;
}

.nrt-profile-name {
    font-size: 22px;
    font-weight: 600;
    color: var(--nrt-senna-primary);
    margin: 0 0 4px 0;
    line-height: 1.3;
}

.nrt-profile-headline {
    font-size: 14px;
    color: var(--nrt-gray-600);
    margin: 0;
    line-height: 1.5;
}

.nrt-profile-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

/* Profile Buttons */
.nrt-profile-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 500;
    border-radius: 8px;
    border: 1px solid var(--nrt-gray-300);
    background: var(--nrt-white);
    color: var(--nrt-gray-700);
    cursor: pointer;
    transition: all 0.15s ease;
    text-decoration: none;
}

.nrt-profile-btn:hover {
    background: var(--nrt-gray-50);
    border-color: var(--nrt-gray-400);
    color: var(--nrt-gray-900);
}

.nrt-profile-btn--primary {
    background: var(--nrt-senna-primary);
    border-color: var(--nrt-senna-primary);
    color: var(--nrt-white);
}

.nrt-profile-btn--primary:hover {
    background: var(--nrt-senna-secondary);
    border-color: var(--nrt-senna-secondary);
    color: var(--nrt-white);
}

.nrt-profile-btn--small {
    padding: 6px 12px;
    font-size: 12px;
}

.nrt-profile-btn--large {
    padding: 12px 24px;
    font-size: 15px;
}

.nrt-profile-btn svg {
    flex-shrink: 0;
}

/* Profile Sections */
.nrt-profile-section {
    background: var(--nrt-cream-50);
    border-radius: 12px;
    border: 1px solid var(--nrt-cream-300);
    padding: 20px;
    margin-bottom: 16px;
}

.nrt-profile-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.nrt-profile-section-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-senna-primary);
    margin: 0;
}

.nrt-profile-section-action {
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-senna-primary);
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    transition: background 0.15s ease;
}

.nrt-profile-section-action:hover {
    background: var(--nrt-senna-light);
}

/* Topics Chips */
.nrt-profile-topics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.nrt-topic-chip,
.nrt-profile-topic-chip {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-senna-primary);
    background: var(--nrt-senna-light);
    border-radius: 20px;
    transition: all 0.15s ease;
}

.nrt-topic-chip:hover,
.nrt-profile-topic-chip:hover {
    background: rgba(45, 106, 122, 0.15);
}

.nrt-topic-chip--add,
.nrt-profile-topic-chip--add {
    background: transparent;
    border: 1px dashed rgba(13, 53, 62, 0.3);
    color: var(--nrt-senna-accent);
    cursor: pointer;
}

.nrt-topic-chip--add:hover,
.nrt-profile-topic-chip--add:hover {
    border-color: var(--nrt-senna-accent);
    color: var(--nrt-senna-primary);
    background: var(--nrt-senna-light);
}

.nrt-topic-chip--edit {
    padding: 8px 10px;
    background: transparent;
    border: 1px solid rgba(13, 53, 62, 0.15);
    color: var(--nrt-senna-accent);
    cursor: pointer;
}

.nrt-topic-chip--edit:hover {
    border-color: var(--nrt-senna-accent);
    color: var(--nrt-senna-primary);
    background: var(--nrt-senna-light);
}

.nrt-profile-empty-topics {
    text-align: center;
    padding: 20px;
    color: var(--nrt-gray-500);
}

.nrt-profile-empty-topics p {
    margin: 0 0 12px 0;
    font-size: 14px;
}

/* Feed Section */
.nrt-profile-feed-section {
    min-height: 200px;
}

.nrt-profile-feed-filter select {
    padding: 6px 28px 6px 12px;
    font-size: 13px;
    border: 1px solid var(--nrt-gray-300);
    border-radius: 6px;
    background: var(--nrt-white);
    color: var(--nrt-gray-700);
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
}

.nrt-profile-feed {
    min-height: 150px;
}

.nrt-profile-feed-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: var(--nrt-gray-500);
}

.nrt-profile-feed-loading p {
    margin: 12px 0 0 0;
    font-size: 14px;
}

/* Spinner */
.nrt-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid var(--nrt-cream-200);
    border-top-color: var(--nrt-senna-primary);
    border-radius: 50%;
    animation: nrt-spin 0.8s linear infinite;
}

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

/* Saved Items */
.nrt-profile-saved-empty {
    text-align: center;
    padding: 24px;
    color: var(--nrt-gray-500);
    font-size: 14px;
    margin: 0;
}

.nrt-saved-items-more {
    text-align: center;
    padding: 12px;
    font-size: 13px;
    color: var(--nrt-senna-accent);
    margin: 8px 0 0 0;
}

/* Quick Links */
.nrt-profile-quick-links {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    overflow: hidden;
}

.nrt-profile-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--nrt-gray-700);
    text-decoration: none;
    border-bottom: 1px solid var(--nrt-gray-100);
    transition: background 0.15s ease;
}

.nrt-profile-link:last-child {
    border-bottom: none;
}

.nrt-profile-link:hover {
    background: var(--nrt-gray-50);
}

.nrt-profile-link svg {
    color: var(--nrt-gray-500);
    flex-shrink: 0;
}

.nrt-profile-link--logout {
    color: var(--nrt-gray-500);
}

.nrt-profile-link--logout:hover {
    color: #dc2626;
    background: #fef2f2;
}

.nrt-profile-link--logout:hover svg {
    color: #dc2626;
}

/* Guest State (Not Logged In) */
.nrt-profile-guest {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 60px 24px;
    min-height: 400px;
}

.nrt-profile-guest-icon {
    margin-bottom: 24px;
    color: var(--nrt-gray-400);
}

.nrt-profile-guest h2 {
    font-size: 24px;
    font-weight: 600;
    color: var(--nrt-senna-primary);
    margin: 0 0 12px 0;
}

.nrt-profile-guest > p {
    font-size: 15px;
    color: var(--nrt-gray-600);
    margin: 0 0 24px 0;
    max-width: 360px;
    line-height: 1.6;
}

.nrt-profile-guest-actions {
    display: flex;
    gap: 12px;
    margin-bottom: 40px;
}

.nrt-profile-guest-features {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 32px;
    border-top: 1px solid var(--nrt-gray-200);
}

.nrt-profile-guest-feature {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    color: var(--nrt-gray-600);
}

.nrt-profile-guest-feature svg {
    color: var(--nrt-senna-primary);
    flex-shrink: 0;
}

/* Profile Dashboard Mobile Responsive */
@media (max-width: 768px) {
    .nrt-profile-dashboard {
        padding: 16px;
    }

    .nrt-profile-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 20px;
    }

    .nrt-profile-avatar {
        width: 80px;
        height: 80px;
    }

    .nrt-profile-initials {
        font-size: 28px;
    }

    .nrt-profile-name {
        font-size: 20px;
    }

    .nrt-profile-actions {
        flex-wrap: wrap;
        justify-content: center;
    }

    .nrt-profile-section {
        padding: 16px;
        border-radius: 10px;
    }

    .nrt-profile-guest {
        padding: 40px 20px;
        min-height: 300px;
    }

    .nrt-profile-guest h2 {
        font-size: 20px;
    }

    .nrt-profile-guest-actions {
        flex-direction: column;
        width: 100%;
    }

    .nrt-profile-guest-actions .nrt-profile-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ==========================================================================
   PERSONALIZED FEED ITEMS
   ========================================================================== */

/* Feed Date Groups */
.nrt-feed-date-group {
    margin-bottom: 24px;
}

.nrt-feed-date-group:last-child {
    margin-bottom: 0;
}

.nrt-feed-date-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--nrt-senna-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(13, 53, 62, 0.1);
}

/* Feed Item */
.nrt-feed-item {
    display: flex;
    gap: 14px;
    padding: 16px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid rgba(13, 53, 62, 0.08);
    margin-bottom: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.nrt-feed-item:last-child {
    margin-bottom: 0;
}

.nrt-feed-item:hover {
    border-color: var(--nrt-senna-accent);
    box-shadow: 0 4px 12px rgba(13, 53, 62, 0.08);
    transform: translateY(-1px);
}

/* Feed Item Icon */
.nrt-feed-item-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 18px;
}

.nrt-feed-item-icon.news {
    background: var(--nrt-senna-light);
    color: var(--nrt-senna-primary);
}

.nrt-feed-item-icon.job {
    background: rgba(200, 168, 130, 0.15);
    color: var(--nrt-senna-gold);
}

.nrt-feed-item-icon.deal {
    background: rgba(45, 106, 122, 0.1);
    color: var(--nrt-senna-accent);
}

/* Feed Item Content */
.nrt-feed-item-content {
    flex: 1;
    min-width: 0;
}

.nrt-feed-item-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
}

.nrt-feed-item-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--nrt-senna-primary);
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.nrt-feed-item-excerpt {
    font-size: 13px;
    color: #5a6b70;
    line-height: 1.5;
    margin: 0 0 10px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Feed Item Meta */
.nrt-feed-item-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 12px;
    color: #7a8a8f;
}

.nrt-feed-item-source {
    font-weight: 500;
    color: var(--nrt-senna-accent);
}

.nrt-feed-item-company {
    font-size: 13px;
    color: #5a6b70;
}

.nrt-feed-item-type {
    display: inline-block;
    padding: 2px 8px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    background: var(--nrt-senna-light);
    color: var(--nrt-senna-primary);
    border-radius: 4px;
}

.nrt-feed-item-date {
    font-size: 12px;
    color: #7a8a8f;
}

.nrt-feed-item-actions {
    flex-shrink: 0;
}

.nrt-feed-item-time {
    display: flex;
    align-items: center;
    gap: 4px;
}

.nrt-feed-item-time::before {
    content: "•";
    color: #bfc9cc;
}

/* Feed Match Tags */
.nrt-feed-item-matches {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
}

.nrt-feed-match-label {
    font-size: 11px;
    color: #7a8a8f;
    font-weight: 500;
}

.nrt-feed-match-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    background: var(--nrt-senna-light);
    color: var(--nrt-senna-primary);
    font-size: 11px;
    font-weight: 500;
    border-radius: 4px;
}

.nrt-feed-match-tag i {
    font-size: 10px;
    opacity: 0.7;
}

/* Feed Save Button */
.nrt-feed-save-btn {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid rgba(13, 53, 62, 0.15);
    border-radius: 8px;
    color: #7a8a8f;
    cursor: pointer;
    transition: all 0.2s ease;
}

.nrt-feed-save-btn:hover {
    border-color: var(--nrt-senna-gold);
    color: var(--nrt-senna-gold);
    background: rgba(200, 168, 130, 0.08);
}

.nrt-feed-save-btn.is-saved {
    background: rgba(200, 168, 130, 0.15);
    border-color: var(--nrt-senna-gold);
    color: var(--nrt-senna-gold);
}

.nrt-feed-save-btn.is-saved i::before {
    content: "\f02e"; /* Solid bookmark */
}

/* Feed Empty State */
.nrt-feed-empty {
    text-align: center;
    padding: 48px 24px;
    background: #fff;
    border-radius: 12px;
    border: 1px dashed rgba(13, 53, 62, 0.15);
}

.nrt-feed-empty-icon {
    font-size: 48px;
    color: var(--nrt-senna-gold-light);
    margin-bottom: 16px;
}

.nrt-feed-empty-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-senna-primary);
    margin: 0 0 8px 0;
}

.nrt-feed-empty-text {
    font-size: 14px;
    color: #5a6b70;
    margin: 0 0 20px 0;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
}

.nrt-feed-empty-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: var(--nrt-senna-primary);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.nrt-feed-empty-btn:hover {
    background: var(--nrt-senna-secondary);
}

/* Feed Error State */
.nrt-feed-error {
    text-align: center;
    padding: 32px 24px;
    background: rgba(220, 53, 69, 0.05);
    border-radius: 12px;
    border: 1px solid rgba(220, 53, 69, 0.15);
}

.nrt-feed-error-icon {
    font-size: 36px;
    color: #dc3545;
    margin-bottom: 12px;
}

.nrt-feed-error-text {
    font-size: 14px;
    color: #dc3545;
    margin: 0 0 16px 0;
}

.nrt-feed-retry-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: #dc3545;
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.nrt-feed-retry-btn:hover {
    background: #c82333;
}

/* ==========================================================================
   SAVED ITEMS GRID
   ========================================================================== */

.nrt-saved-items-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}

.nrt-saved-item {
    display: flex;
    flex-direction: column;
    padding: 16px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid rgba(13, 53, 62, 0.08);
    cursor: pointer;
    transition: all 0.2s ease;
}

.nrt-saved-item:hover {
    border-color: var(--nrt-senna-accent);
    box-shadow: 0 4px 12px rgba(13, 53, 62, 0.08);
    transform: translateY(-2px);
}

.nrt-saved-item-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.nrt-saved-item-type {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-radius: 4px;
}

.nrt-saved-item-type.news {
    background: var(--nrt-senna-light);
    color: var(--nrt-senna-primary);
}

.nrt-saved-item-type.job {
    background: rgba(200, 168, 130, 0.15);
    color: var(--nrt-senna-gold);
}

.nrt-saved-item-type.deal {
    background: rgba(45, 106, 122, 0.1);
    color: var(--nrt-senna-accent);
}

.nrt-saved-item-remove {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: #aab5b8;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.nrt-saved-item-remove:hover {
    background: rgba(220, 53, 69, 0.1);
    color: #dc3545;
}

.nrt-saved-item-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--nrt-senna-primary);
    line-height: 1.4;
    margin: 0 0 8px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.nrt-saved-item-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #7a8a8f;
    margin-top: auto;
}

.nrt-saved-item-source {
    font-weight: 500;
    color: var(--nrt-senna-accent);
}

.nrt-saved-item-date {
    display: flex;
    align-items: center;
    gap: 4px;
}

.nrt-saved-item-date::before {
    content: "•";
    color: #bfc9cc;
}

/* Saved Items Empty State */
.nrt-saved-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 48px 24px;
    background: #fff;
    border-radius: 12px;
    border: 1px dashed rgba(13, 53, 62, 0.15);
}

.nrt-saved-empty-icon {
    font-size: 48px;
    color: var(--nrt-senna-gold-light);
    margin-bottom: 16px;
}

.nrt-saved-empty-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-senna-primary);
    margin: 0 0 8px 0;
}

.nrt-saved-empty-text {
    font-size: 14px;
    color: #5a6b70;
    margin: 0;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
}

/* Feed Items Mobile Responsive */
@media (max-width: 768px) {
    .nrt-feed-item {
        padding: 14px;
        gap: 12px;
    }

    .nrt-feed-item-icon {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }

    .nrt-feed-item-title {
        font-size: 14px;
    }

    .nrt-feed-item-excerpt {
        font-size: 12px;
        -webkit-line-clamp: 2;
    }

    .nrt-feed-item-meta {
        font-size: 11px;
    }

    .nrt-feed-save-btn {
        width: 32px;
        height: 32px;
    }

    .nrt-saved-items-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .nrt-saved-item {
        padding: 14px;
    }

    .nrt-saved-item-title {
        font-size: 14px;
    }

    .nrt-feed-empty,
    .nrt-saved-empty {
        padding: 32px 16px;
    }

    .nrt-feed-empty-icon,
    .nrt-saved-empty-icon {
        font-size: 40px;
    }

    .nrt-feed-empty-title,
    .nrt-saved-empty-title {
        font-size: 16px;
    }
}

/* ==========================================================================
   PREFERENCES MODAL
   ========================================================================== */

/* Modal Overlay */
.nrt-prefs-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(13, 53, 62, 0.6);
    backdrop-filter: blur(4px);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.nrt-prefs-modal-overlay.is-visible {
    opacity: 1;
    visibility: visible;
}

/* Modal Container */
.nrt-prefs-modal {
    width: 100%;
    max-width: 640px;
    max-height: 90vh;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(13, 53, 62, 0.25);
    display: flex;
    flex-direction: column;
    transform: translateY(20px) scale(0.95);
    transition: transform 0.3s ease;
}

.nrt-prefs-modal-overlay.is-visible .nrt-prefs-modal {
    transform: translateY(0) scale(1);
}

/* Modal Header */
.nrt-prefs-modal-header {
    position: relative;
    padding: 24px 24px 20px;
    border-bottom: 1px solid rgba(13, 53, 62, 0.08);
}

.nrt-prefs-modal-header h2 {
    font-size: 22px;
    font-weight: 700;
    color: var(--nrt-senna-primary);
    margin: 0 0 6px 0;
}

.nrt-prefs-modal-header p {
    font-size: 14px;
    color: #5a6b70;
    margin: 0;
}

.nrt-prefs-modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: #7a8a8f;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.nrt-prefs-modal-close:hover {
    background: var(--nrt-senna-light);
    color: var(--nrt-senna-primary);
}

/* Modal Body */
.nrt-prefs-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 20px 24px;
}

/* Preferences Section */
.nrt-prefs-section {
    margin-bottom: 28px;
}

.nrt-prefs-section:last-child {
    margin-bottom: 0;
}

.nrt-prefs-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 600;
    color: var(--nrt-senna-primary);
    margin: 0 0 6px 0;
}

.nrt-prefs-section-title svg {
    color: var(--nrt-senna-accent);
}

.nrt-prefs-section-desc {
    font-size: 13px;
    color: #7a8a8f;
    margin: 0 0 14px 0;
}

/* Preference Chips */
.nrt-prefs-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.nrt-prefs-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: #fff;
    border: 1.5px solid rgba(13, 53, 62, 0.15);
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-senna-primary);
    cursor: pointer;
    transition: all 0.2s ease;
}

.nrt-prefs-chip:hover {
    border-color: var(--nrt-senna-accent);
    background: var(--nrt-senna-light);
}

.nrt-prefs-chip.is-selected {
    background: var(--nrt-senna-primary);
    border-color: var(--nrt-senna-primary);
    color: #fff;
}

.nrt-prefs-chip.is-selected:hover {
    background: var(--nrt-senna-secondary);
    border-color: var(--nrt-senna-secondary);
}

/* Keywords Input */
.nrt-prefs-keywords-input {
    display: flex;
    gap: 10px;
    margin-bottom: 12px;
}

.nrt-prefs-keywords-input input {
    flex: 1;
    padding: 10px 14px;
    background: #fff;
    border: 1.5px solid rgba(13, 53, 62, 0.15);
    border-radius: 10px;
    font-size: 14px;
    color: var(--nrt-senna-primary);
    transition: border-color 0.2s ease;
}

.nrt-prefs-keywords-input input:focus {
    outline: none;
    border-color: var(--nrt-senna-accent);
}

.nrt-prefs-keywords-input input::placeholder {
    color: #aab5b8;
}

.nrt-prefs-keyword-add-btn {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--nrt-senna-primary);
    border: none;
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    transition: background 0.2s ease;
}

.nrt-prefs-keyword-add-btn:hover {
    background: var(--nrt-senna-secondary);
}

/* Keywords List */
.nrt-prefs-keywords-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 32px;
}

.nrt-prefs-keyword-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px 6px 12px;
    background: var(--nrt-senna-light);
    border-radius: 16px;
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-senna-primary);
}

.nrt-prefs-keyword-remove {
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(13, 53, 62, 0.1);
    border: none;
    border-radius: 50%;
    color: var(--nrt-senna-primary);
    cursor: pointer;
    padding: 0;
    transition: all 0.2s ease;
}

.nrt-prefs-keyword-remove:hover {
    background: rgba(220, 53, 69, 0.15);
    color: #dc3545;
}

.nrt-prefs-keyword-remove svg {
    width: 12px;
    height: 12px;
}

.nrt-prefs-keywords-placeholder {
    font-size: 13px;
    color: #aab5b8;
    font-style: italic;
}

/* Modal Footer */
.nrt-prefs-modal-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 16px 24px;
    border-top: 1px solid rgba(13, 53, 62, 0.08);
    background: rgba(13, 53, 62, 0.02);
    border-radius: 0 0 16px 16px;
}

/* Footer Buttons */
.nrt-prefs-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.nrt-prefs-btn-secondary {
    background: transparent;
    border: 1.5px solid rgba(13, 53, 62, 0.2);
    color: var(--nrt-senna-primary);
}

.nrt-prefs-btn-secondary:hover {
    background: var(--nrt-senna-light);
    border-color: var(--nrt-senna-accent);
}

.nrt-prefs-btn-primary {
    background: var(--nrt-senna-primary);
    border: 1.5px solid var(--nrt-senna-primary);
    color: #fff;
}

.nrt-prefs-btn-primary:hover {
    background: var(--nrt-senna-secondary);
    border-color: var(--nrt-senna-secondary);
}

.nrt-prefs-btn-primary:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Loading Spinner */
.nrt-prefs-spinner {
    animation: nrt-prefs-spin 1s linear infinite;
}

@keyframes nrt-prefs-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Modal Mobile Responsive */
@media (max-width: 768px) {
    .nrt-prefs-modal-overlay {
        padding: 0;
        align-items: flex-end;
    }

    .nrt-prefs-modal {
        max-width: 100%;
        max-height: 95vh;
        border-radius: 20px 20px 0 0;
        transform: translateY(100%);
    }

    .nrt-prefs-modal-overlay.is-visible .nrt-prefs-modal {
        transform: translateY(0);
    }

    .nrt-prefs-modal-header {
        padding: 20px 20px 16px;
    }

    .nrt-prefs-modal-header h2 {
        font-size: 18px;
        padding-right: 40px;
    }

    .nrt-prefs-modal-header p {
        font-size: 13px;
    }

    .nrt-prefs-modal-close {
        top: 16px;
        right: 16px;
    }

    .nrt-prefs-modal-body {
        padding: 16px 20px;
    }

    .nrt-prefs-section {
        margin-bottom: 24px;
    }

    .nrt-prefs-chips {
        gap: 8px;
    }

    .nrt-prefs-chip {
        padding: 7px 14px;
        font-size: 12px;
    }

    .nrt-prefs-modal-footer {
        padding: 14px 20px;
        flex-direction: column-reverse;
    }

    .nrt-prefs-btn {
        width: 100%;
        padding: 14px 20px;
    }
}

/* ============================================
   RESEARCH TAB STYLES
   ============================================ */

/* Category type badges */
.nrt-type-thesis { background: rgba(139, 92, 246, 0.1); color: #7c3aed; }
.nrt-type-screening { background: rgba(59, 130, 246, 0.1); color: #2563eb; }
.nrt-type-market { background: rgba(16, 185, 129, 0.1); color: #059669; }
.nrt-type-diligence { background: rgba(245, 158, 11, 0.1); color: #d97706; }
.nrt-type-value { background: rgba(239, 68, 68, 0.1); color: #dc2626; }
.nrt-type-research { background: rgba(15, 81, 50, 0.1); color: var(--nrt-green-700); }

/* Prompt cards - inherit story card styles */
.nrt-prompt-card {
    cursor: pointer;
}

.nrt-prompt-card:hover {
    border-left-color: var(--nrt-green-600);
}

/* Research article view */
/* Research article - Full height layout, breaks out of parent padding */
.nrt-research-article {
    position: absolute;
    top: -32px;
    left: -48px;
    right: -48px;
    bottom: -32px;
    display: flex;
    flex-direction: column;
    background: var(--nrt-white);
    z-index: 10;
    overflow: hidden;
}

.nrt-research-article .nrt-article-header {
    flex-shrink: 0;
    padding: 20px 48px 16px;
    border-bottom: 1px solid var(--nrt-cream-200);
}

.nrt-research-article .nrt-article-meta-row {
    margin-bottom: 12px;
}

.nrt-research-article .nrt-article-title {
    font-size: 22px;
    margin-bottom: 12px;
}

.nrt-research-article .nrt-article-byline {
    padding-bottom: 0;
    border-bottom: none;
}

.nrt-research-body {
    flex: 1;
    overflow-y: auto;
    padding: 24px 48px 80px;
    min-height: 0;
    font-size: 15px;
    line-height: 1.7;
}

.nrt-research-body h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 24px 0 12px 0;
}

.nrt-research-body ul {
    margin: 0 0 16px 0;
    padding-left: 0;
    list-style: none;
}

.nrt-research-body li {
    position: relative;
    padding: 8px 0 8px 24px;
    color: var(--nrt-gray-700);
    line-height: 1.5;
}

.nrt-research-body li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14px;
    width: 8px;
    height: 8px;
    background: var(--nrt-green-600);
    border-radius: 50%;
}

.nrt-research-body li strong {
    color: var(--nrt-gray-900);
}

/* Research floating input - positioned at bottom */
.nrt-research-footer {
    position: absolute;
    bottom: 20px;
    left: 48px;
    right: 48px;
    padding: 0;
    background: transparent;
    border: none;
    z-index: 15;
}

.nrt-research-input-area {
    max-width: 100%;
}

.nrt-research-input-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 24px;
    padding: 4px 4px 4px 16px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
    transition: all 0.2s ease;
}

.nrt-research-input-wrap:focus-within {
    background: rgba(255, 255, 255, 0.85);
    border-color: rgba(45, 106, 79, 0.3);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
}

.nrt-research-input {
    flex: 1;
    border: none;
    background: transparent;
    font-family: var(--nrt-font-sans);
    font-size: 14px;
    color: var(--nrt-gray-900);
    outline: none;
    padding: 6px 0;
}

.nrt-research-input::placeholder {
    color: var(--nrt-gray-400);
}

.nrt-research-send {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: var(--nrt-green-700);
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease, transform 0.1s ease;
    flex-shrink: 0;
}

.nrt-research-send:hover {
    background: var(--nrt-green-600);
}

.nrt-research-send:active {
    transform: scale(0.95);
}

.nrt-research-send svg {
    stroke: white;
}

/* Quick prompts below input - hidden by default for cleaner look */
.nrt-research-quick-prompts {
    display: none;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
    justify-content: center;
}

.nrt-quick-prompt {
    padding: 4px 10px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid var(--nrt-cream-300);
    border-radius: 12px;
    font-family: var(--nrt-font-sans);
    font-size: 11px;
    color: var(--nrt-gray-500);
    cursor: pointer;
    transition: all 0.15s ease;
}

.nrt-quick-prompt:hover {
    background: var(--nrt-white);
    border-color: var(--nrt-green-600);
    color: var(--nrt-green-700);
}

/* Loading state for research body */
.nrt-research-body.is-loading::after {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    margin: 24px auto;
    border: 2px solid var(--nrt-cream-300);
    border-top-color: var(--nrt-green-600);
    border-radius: 50%;
    animation: nrt-spin 0.8s linear infinite;
}

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

/* Research welcome message */
.nrt-research-welcome {
    text-align: center;
    padding: 48px 24px;
    color: var(--nrt-gray-500);
}

.nrt-research-welcome p {
    margin: 0 0 8px;
    font-size: 15px;
    line-height: 1.6;
}

.nrt-research-welcome strong {
    color: var(--nrt-gray-700);
}

.nrt-research-hint {
    font-size: 13px;
    color: var(--nrt-gray-400);
}

/* Research query display */
.nrt-research-query {
    background: var(--nrt-cream-100);
    border-left: 3px solid var(--nrt-green-600);
    padding: 16px 20px;
    margin-bottom: 24px;
    border-radius: 0 8px 8px 0;
}

.nrt-research-query-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--nrt-green-700);
    margin: 0 0 6px;
}

.nrt-research-query-text {
    font-size: 14px;
    line-height: 1.5;
    color: var(--nrt-gray-700);
    margin: 0;
}

/* Research loading state */
.nrt-research-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    color: var(--nrt-gray-500);
}

.nrt-research-loading p {
    margin: 16px 0 0;
    font-size: 14px;
}

/* Typing indicator dots */
.nrt-typing-indicator {
    display: flex;
    gap: 4px;
}

.nrt-typing-indicator span {
    width: 8px;
    height: 8px;
    background: var(--nrt-green-600);
    border-radius: 50%;
    animation: nrt-typing 1.4s infinite ease-in-out both;
}

.nrt-typing-indicator span:nth-child(1) {
    animation-delay: -0.32s;
}

.nrt-typing-indicator span:nth-child(2) {
    animation-delay: -0.16s;
}

@keyframes nrt-typing {
    0%, 80%, 100% {
        transform: scale(0.6);
        opacity: 0.5;
    }
    40% {
        transform: scale(1);
        opacity: 1;
    }
}

/* Spinner icon for button */
.nrt-spinner-icon {
    width: 20px;
    height: 20px;
    animation: nrt-spin 1s linear infinite;
}

/* Research response styling */
.nrt-research-response {
    font-family: var(--nrt-font-serif);
    font-size: 15px;
    line-height: 1.7;
    color: var(--nrt-gray-700);
}

.nrt-research-response h3 {
    font-family: var(--nrt-font-sans);
    font-size: 20px;
    font-weight: 600;
    color: var(--nrt-navy);
    margin: 0 0 16px;
}

.nrt-research-response h4 {
    font-family: var(--nrt-font-sans);
    font-size: 15px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 24px 0 12px;
}

.nrt-research-response p {
    margin: 0 0 16px;
}

.nrt-research-response ul {
    margin: 0 0 16px;
    padding-left: 24px;
}

.nrt-research-response li {
    margin-bottom: 8px;
}

.nrt-research-response strong {
    font-weight: 600;
    color: var(--nrt-gray-800);
}

/* Research table styling */
.nrt-research-table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    font-family: var(--nrt-font-sans);
    font-size: 13px;
}

.nrt-research-table th,
.nrt-research-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid var(--nrt-cream-300);
}

.nrt-research-table th {
    background: var(--nrt-cream-100);
    font-weight: 600;
    color: var(--nrt-gray-700);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nrt-research-table tr:last-child td {
    border-bottom: none;
}

.nrt-research-table tr:hover td {
    background: var(--nrt-cream-50);
}

/* Research note (placeholder indicator) */
.nrt-research-note {
    font-size: 13px;
    color: var(--nrt-gray-400);
    font-style: italic;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid var(--nrt-cream-200);
}

/* Research error state */
.nrt-research-error {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    text-align: center;
    color: var(--nrt-gray-500);
}

.nrt-research-error svg {
    width: 48px;
    height: 48px;
    color: #dc2626;
    margin-bottom: 16px;
}

.nrt-research-error p {
    margin: 0;
    font-size: 14px;
}

/* Profile view - Full panel layout */
.nrt-profile-view {
    position: absolute;
    top: -32px;
    left: -48px;
    right: -48px;
    bottom: -32px;
    background: var(--nrt-white);
    z-index: 10;
    overflow-y: auto;
    padding: 32px 48px;
}

.nrt-profile-sidebar-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-align: center;
    color: var(--nrt-gray-400);
    padding: 32px;
}

.nrt-profile-sidebar-icon {
    margin-bottom: 16px;
    opacity: 0.5;
}

.nrt-profile-sidebar-placeholder p {
    font-size: 13px;
    line-height: 1.5;
}

/* ============================================
   LEARNING TAB - GUIDE LIBRARY
   ============================================ */

/* Coming Soon placeholder */
.nrt-coming-soon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 300px;
    text-align: center;
    color: var(--nrt-gray-400);
    padding: 32px;
}

.nrt-coming-soon svg {
    margin-bottom: 16px;
    opacity: 0.5;
}

.nrt-coming-soon h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-600);
    margin: 0 0 8px 0;
}

.nrt-coming-soon p {
    font-size: 13px;
    margin: 0;
}

/* Guide Cards Container */
.nrt-guides-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0 16px;
}

/* Guide Card - Book Style */
.nrt-guide-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px;
    background: var(--nrt-white);
    border: 1px solid var(--nrt-gray-100);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.nrt-guide-card:hover {
    border-color: var(--nrt-gray-200);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    transform: translateX(4px);
}

.nrt-guide-card.is-active {
    border-color: var(--nrt-primary);
    background: #f0f7ff;
}

/* Book Visual - Sophisticated Professional Design */
.nrt-guide-book {
    position: relative;
    width: 48px;
    height: 64px;
    flex-shrink: 0;
    transform-style: preserve-3d;
    perspective: 200px;
}

.nrt-book-spine {
    position: absolute;
    left: 0;
    top: 0;
    width: 10px;
    height: 100%;
    border-radius: 3px 0 0 3px;
    transform: rotateY(-30deg) translateZ(2px);
    transform-origin: right center;
    box-shadow: inset -1px 0 2px rgba(0, 0, 0, 0.3);
}

.nrt-book-cover {
    position: absolute;
    left: 8px;
    top: 0;
    right: 0;
    height: 100%;
    border-radius: 0 3px 3px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow:
        -3px 3px 8px rgba(0, 0, 0, 0.15),
        -1px 1px 3px rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        inset 0 -1px 0 rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

/* Book texture overlay */
.nrt-book-cover::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.1) 0%, transparent 50%, rgba(0,0,0,0.05) 100%);
    pointer-events: none;
}

/* Gold foil number effect */
.nrt-book-icon {
    font-size: 13px;
    font-weight: 600;
    font-family: 'Georgia', serif;
    color: #c9a962;
    text-shadow:
        0 1px 1px rgba(0, 0, 0, 0.3),
        0 0 2px rgba(201, 169, 98, 0.3);
    letter-spacing: 0.5px;
}

/* Professional Book Colors - Sophisticated palette */

/* Navy - For Valuation guides */
.nrt-guide-book[data-color="navy"] .nrt-book-spine {
    background: linear-gradient(180deg, #1a2744 0%, #0f172a 100%);
}
.nrt-guide-book[data-color="navy"] .nrt-book-cover {
    background: linear-gradient(180deg, #1e3a5f 0%, #1a2744 100%);
}

/* Charcoal - For M&A guides */
.nrt-guide-book[data-color="charcoal"] .nrt-book-spine {
    background: linear-gradient(180deg, #374151 0%, #1f2937 100%);
}
.nrt-guide-book[data-color="charcoal"] .nrt-book-cover {
    background: linear-gradient(180deg, #4b5563 0%, #374151 100%);
}

/* Forest - For Credit guides */
.nrt-guide-book[data-color="forest"] .nrt-book-spine {
    background: linear-gradient(180deg, #1a3a2f 0%, #0f2922 100%);
}
.nrt-guide-book[data-color="forest"] .nrt-book-cover {
    background: linear-gradient(180deg, #234338 0%, #1a3a2f 100%);
}

/* Burgundy - For PE guides */
.nrt-guide-book[data-color="burgundy"] .nrt-book-spine {
    background: linear-gradient(180deg, #5c1a2e 0%, #3d1220 100%);
}
.nrt-guide-book[data-color="burgundy"] .nrt-book-cover {
    background: linear-gradient(180deg, #722f43 0%, #5c1a2e 100%);
}

/* Slate - For Fund Structure guides */
.nrt-guide-book[data-color="slate"] .nrt-book-spine {
    background: linear-gradient(180deg, #475569 0%, #334155 100%);
}
.nrt-guide-book[data-color="slate"] .nrt-book-cover {
    background: linear-gradient(180deg, #64748b 0%, #475569 100%);
}

/* Legacy color mappings for backwards compatibility */
.nrt-guide-book[data-color="blue"] .nrt-book-spine {
    background: linear-gradient(180deg, #1a2744 0%, #0f172a 100%);
}
.nrt-guide-book[data-color="blue"] .nrt-book-cover {
    background: linear-gradient(180deg, #1e3a5f 0%, #1a2744 100%);
}

.nrt-guide-book[data-color="purple"] .nrt-book-spine {
    background: linear-gradient(180deg, #374151 0%, #1f2937 100%);
}
.nrt-guide-book[data-color="purple"] .nrt-book-cover {
    background: linear-gradient(180deg, #4b5563 0%, #374151 100%);
}

.nrt-guide-book[data-color="green"] .nrt-book-spine {
    background: linear-gradient(180deg, #1a3a2f 0%, #0f2922 100%);
}
.nrt-guide-book[data-color="green"] .nrt-book-cover {
    background: linear-gradient(180deg, #234338 0%, #1a3a2f 100%);
}

.nrt-guide-book[data-color="orange"] .nrt-book-spine {
    background: linear-gradient(180deg, #5c1a2e 0%, #3d1220 100%);
}
.nrt-guide-book[data-color="orange"] .nrt-book-cover {
    background: linear-gradient(180deg, #722f43 0%, #5c1a2e 100%);
}

.nrt-guide-book[data-color="teal"] .nrt-book-spine {
    background: linear-gradient(180deg, #475569 0%, #334155 100%);
}
.nrt-guide-book[data-color="teal"] .nrt-book-cover {
    background: linear-gradient(180deg, #64748b 0%, #475569 100%);
}

/* Guide Info */
.nrt-guide-info {
    flex: 1;
    min-width: 0;
}

.nrt-guide-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 4px 0;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nrt-guide-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
}

.nrt-guide-category {
    color: var(--nrt-gray-500);
}

.nrt-guide-level {
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.nrt-guide-card[data-level="beginner"] .nrt-guide-level {
    background: #dcfce7;
    color: #166534;
}

.nrt-guide-card[data-level="intermediate"] .nrt-guide-level {
    background: #fef3c7;
    color: #92400e;
}

.nrt-guide-card[data-level="advanced"] .nrt-guide-level {
    background: #fee2e2;
    color: #991b1b;
}

/* Guide Reader View in Right Panel */
.nrt-guide-view {
    position: absolute;
    top: -32px;
    left: -48px;
    right: -48px;
    bottom: -32px;
    background: var(--nrt-white);
    z-index: 10;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.nrt-guide-header {
    padding: 48px 80px 32px;
    border-bottom: 1px solid var(--nrt-gray-100);
    max-width: 900px;
    margin: 0 auto;
}

.nrt-guide-header-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.nrt-guide-header h1 {
    font-size: 28px;
    font-weight: 700;
    color: var(--nrt-gray-900);
    margin: 0;
    line-height: 1.2;
}

.nrt-guide-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.nrt-guide-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 500;
    border-radius: 6px;
    border: 1px solid var(--nrt-gray-200);
    background: var(--nrt-white);
    color: var(--nrt-gray-700);
    cursor: pointer;
    transition: all 0.15s ease;
}

.nrt-guide-btn:hover {
    background: var(--nrt-gray-50);
    border-color: var(--nrt-gray-300);
}

.nrt-guide-btn--primary {
    background: var(--nrt-primary);
    border-color: var(--nrt-primary);
    color: white;
}

.nrt-guide-btn--primary:hover {
    background: #1d4ed8;
    border-color: #1d4ed8;
}

.nrt-guide-btn svg {
    width: 16px;
    height: 16px;
}

.nrt-guide-header-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 13px;
    color: var(--nrt-gray-500);
}

.nrt-guide-header-meta span {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Guide Content Body */
.nrt-guide-body {
    flex: 1;
    padding: 48px 80px 80px;
    font-size: 16px;
    line-height: 1.8;
    color: var(--nrt-gray-700);
    max-width: 900px;
    margin: 0 auto;
}

.nrt-guide-body h2 {
    font-size: 20px;
    font-weight: 700;
    color: var(--nrt-gray-900);
    margin: 32px 0 16px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--nrt-gray-100);
}

.nrt-guide-body h2:first-child {
    margin-top: 0;
}

.nrt-guide-body h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 24px 0 12px 0;
}

.nrt-guide-body p {
    margin: 0 0 16px 0;
}

.nrt-guide-body ul,
.nrt-guide-body ol {
    margin: 0 0 16px 0;
    padding-left: 24px;
}

.nrt-guide-body li {
    margin-bottom: 8px;
}

.nrt-guide-body code {
    background: var(--nrt-gray-100);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 13px;
    font-family: 'SF Mono', Monaco, monospace;
}

.nrt-guide-body pre {
    background: var(--nrt-gray-900);
    color: #e5e7eb;
    padding: 16px;
    border-radius: 8px;
    overflow-x: auto;
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 16px 0;
}

.nrt-guide-body blockquote {
    border-left: 4px solid var(--nrt-primary);
    margin: 0 0 16px 0;
    padding: 12px 16px;
    background: #f0f7ff;
    border-radius: 0 8px 8px 0;
    font-style: italic;
}

.nrt-guide-body table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 16px 0;
    font-size: 14px;
}

.nrt-guide-body th,
.nrt-guide-body td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid var(--nrt-gray-200);
}

.nrt-guide-body th {
    font-weight: 600;
    color: var(--nrt-gray-900);
    background: var(--nrt-gray-50);
}

/* Key Concept Box */
.nrt-guide-concept {
    background: linear-gradient(135deg, #f0f7ff 0%, #e0f2fe 100%);
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    padding: 20px 24px;
    margin: 0 0 24px 0;
}

.nrt-guide-concept h4 {
    font-size: 14px;
    font-weight: 700;
    color: var(--nrt-primary);
    margin: 0 0 8px 0;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.nrt-guide-concept p {
    margin: 0;
    color: var(--nrt-gray-700);
}

/* Formula Box */
.nrt-guide-formula {
    background: var(--nrt-gray-50);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    padding: 16px 20px;
    margin: 0 0 16px 0;
    font-family: 'SF Mono', Monaco, monospace;
    font-size: 14px;
    text-align: center;
    color: var(--nrt-gray-800);
}

/* Profile Quick Links Sidebar */
.nrt-profile-quick-section {
    padding: 16px 0;
    border-bottom: 1px solid var(--nrt-gray-100);
}

.nrt-profile-quick-section:first-child {
    padding-top: 0;
}

.nrt-profile-quick-section:last-child {
    border-bottom: none;
}

.nrt-profile-section-title {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--nrt-gray-400);
    margin: 0 0 12px 0;
    padding: 0 16px;
}

.nrt-profile-quick-links {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.nrt-profile-quick-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    color: var(--nrt-gray-700);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px;
    margin: 0 8px;
    transition: all 0.15s ease;
}

.nrt-profile-quick-link:hover {
    background: var(--nrt-gray-50);
    color: var(--nrt-primary);
}

.nrt-profile-quick-link svg {
    flex-shrink: 0;
    color: var(--nrt-gray-400);
    transition: color 0.15s ease;
}

.nrt-profile-quick-link:hover svg {
    color: var(--nrt-primary);
}

.nrt-profile-quick-link span {
    flex: 1;
}

/* Profile tab left panel fills height */
.nrt-tab-profile.is-active {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding-top: 16px;
}

/* Logout section styling */
.nrt-profile-logout-section {
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid var(--nrt-gray-100);
    border-bottom: none;
}

.nrt-profile-logout {
    color: var(--nrt-gray-500);
}

.nrt-profile-logout:hover {
    background: #fef2f2;
    color: #dc2626;
}

.nrt-profile-logout:hover svg {
    color: #dc2626;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .nrt-profile-view {
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 16px;
    }

    .nrt-guide-view {
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }

    .nrt-guide-header {
        padding: 16px 16px 12px;
    }

    .nrt-guide-header h1 {
        font-size: 20px;
    }

    .nrt-guide-header-top {
        flex-direction: column;
        gap: 12px;
    }

    .nrt-guide-actions {
        width: 100%;
    }

    .nrt-guide-btn {
        flex: 1;
        justify-content: center;
    }

    .nrt-guide-header {
        padding: 24px 24px 20px;
    }

    .nrt-guide-body {
        padding: 24px 24px 48px;
    }

    .nrt-guide-body h2 {
        font-size: 18px;
    }

    .nrt-research-article {
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }

    .nrt-research-article .nrt-article-header {
        padding: 16px;
    }

    .nrt-research-article .nrt-article-title {
        font-size: 18px;
    }

    .nrt-research-body {
        padding: 16px 16px 70px;
    }

    .nrt-research-footer {
        left: 16px;
        right: 16px;
        bottom: 16px;
    }

    .nrt-research-input {
        font-size: 16px; /* Prevent zoom on iOS */
    }

    .nrt-research-welcome {
        padding: 24px 16px;
    }

    .nrt-research-query {
        padding: 12px 16px;
    }

    .nrt-research-response h3 {
        font-size: 18px;
    }

    .nrt-research-table {
        font-size: 12px;
    }

    .nrt-research-table th,
    .nrt-research-table td {
        padding: 8px 10px;
    }
}

/* ========================================
   DATABASE TAB STYLES
   ======================================== */

/* Database Search */
.nrt-database-search {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: var(--nrt-gray-50);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    margin-bottom: 12px;
}

.nrt-database-search svg {
    color: var(--nrt-gray-400);
    flex-shrink: 0;
}

.nrt-database-search-input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 14px;
    color: var(--nrt-gray-900);
    outline: none;
}

.nrt-database-search-input::placeholder {
    color: var(--nrt-gray-400);
}

/* Database List */
.nrt-database-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* Firm Card */
.nrt-firm-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    cursor: pointer;
    transition: background 0.15s ease;
}

.nrt-firm-card:hover {
    background: var(--nrt-gray-50);
}

.nrt-firm-card.is-active {
    background: var(--nrt-blue-50);
    border-left: 3px solid var(--nrt-blue-600);
}

/* Firm Avatar */
.nrt-firm-avatar {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--nrt-navy-800) 0%, var(--nrt-navy-700) 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
    flex-shrink: 0;
}

/* Firm Info */
.nrt-firm-info {
    flex: 1;
    min-width: 0;
}

.nrt-firm-card .nrt-story-title {
    font-size: 14px;
    font-weight: 500;
    margin: 0 0 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nrt-firm-country {
    font-size: 12px;
    color: var(--nrt-gray-500);
}

/* Firm Detail View (Right Panel) */
.nrt-firm-detail {
    padding: 32px;
    max-width: 800px;
}

.nrt-firm-detail-header {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--nrt-gray-200);
    margin-bottom: 24px;
}

.nrt-firm-detail-avatar {
    width: 72px;
    height: 72px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--nrt-navy-800) 0%, var(--nrt-navy-700) 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 1px;
    flex-shrink: 0;
}

.nrt-firm-detail-info {
    flex: 1;
}

.nrt-firm-detail-name {
    font-family: var(--nrt-font-serif);
    font-size: 28px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 8px;
    line-height: 1.2;
}

.nrt-firm-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
}

.nrt-firm-detail-type {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    background: var(--nrt-blue-50);
    color: var(--nrt-blue-700);
    font-size: 12px;
    font-weight: 500;
    border-radius: 4px;
}

.nrt-firm-detail-location {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    color: var(--nrt-gray-600);
}

.nrt-firm-detail-location svg {
    color: var(--nrt-gray-400);
}

/* Firm Detail Sections */
.nrt-firm-detail-section {
    margin-bottom: 24px;
}

.nrt-firm-detail-section h3 {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 12px;
}

.nrt-firm-detail-section p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--nrt-gray-700);
    margin: 0;
}

/* Firm Facts Grid */
.nrt-firm-facts {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 16px;
}

.nrt-firm-fact {
    padding: 12px;
    background: var(--nrt-gray-50);
    border-radius: 8px;
}

.nrt-firm-fact-label {
    display: block;
    font-size: 11px;
    font-weight: 500;
    color: var(--nrt-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.nrt-firm-fact-value {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-900);
}

/* Featured Firm Highlighting */
.nrt-firm-featured {
    background: linear-gradient(90deg, rgba(37, 99, 235, 0.04) 0%, transparent 100%);
    border-left: 3px solid var(--nrt-blue-400);
}

.nrt-firm-featured:hover {
    background: linear-gradient(90deg, rgba(37, 99, 235, 0.08) 0%, var(--nrt-gray-50) 100%);
}

.nrt-firm-featured.is-active {
    background: var(--nrt-blue-50);
    border-left-color: var(--nrt-blue-600);
}

/* Firm Meta in List */
.nrt-firm-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.nrt-firm-aum-badge {
    font-size: 10px;
    font-weight: 600;
    color: var(--nrt-blue-700);
    background: var(--nrt-blue-50);
    padding: 2px 6px;
    border-radius: 4px;
    white-space: nowrap;
}

/* Featured Firm Detail View */
.nrt-firm-detail-featured .nrt-firm-detail-header {
    border-bottom-color: var(--nrt-blue-200);
}

.nrt-avatar-featured {
    background: linear-gradient(135deg, var(--nrt-blue-600) 0%, var(--nrt-blue-700) 100%);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
}

.nrt-firm-featured-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    background: linear-gradient(135deg, var(--nrt-blue-600) 0%, var(--nrt-blue-700) 100%);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Highlighted AUM */
.nrt-firm-fact-highlight {
    color: var(--nrt-blue-600);
    font-size: 16px;
}

/* Firm Description */
.nrt-firm-description {
    font-size: 15px;
    line-height: 1.7;
    color: var(--nrt-gray-700);
}

/* Investment Focus / Sector Tags */
.nrt-sector-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.nrt-sector-tag {
    display: inline-block;
    padding: 6px 12px;
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-700);
    font-size: 13px;
    font-weight: 500;
    border-radius: 6px;
    transition: all 0.15s ease;
}

.nrt-sector-tag:hover {
    background: var(--nrt-gray-200);
}

/* Website Button */
.nrt-firm-website-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: var(--nrt-blue-600);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.15s ease;
}

.nrt-firm-website-btn:hover {
    background: var(--nrt-blue-700);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
}

.nrt-firm-website-btn svg {
    flex-shrink: 0;
}

/* Related Content Section */
.nrt-firm-related {
    margin-top: 24px;
}

.nrt-firm-related-loading {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px;
    color: var(--nrt-gray-500);
    font-size: 13px;
}

.nrt-spinner-small {
    width: 16px;
    height: 16px;
    border: 2px solid var(--nrt-gray-200);
    border-top-color: var(--nrt-blue-600);
    border-radius: 50%;
    animation: nrt-spin 0.8s linear infinite;
}

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

.nrt-firm-related-section {
    margin-bottom: 24px;
    padding: 16px;
    background: var(--nrt-gray-50);
    border-radius: 10px;
    border: 1px solid var(--nrt-gray-100);
}

.nrt-firm-related-section h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 12px;
}

.nrt-firm-related-section h3 svg {
    color: var(--nrt-gray-400);
}

.nrt-related-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    background: var(--nrt-blue-100);
    color: var(--nrt-blue-700);
    font-size: 11px;
    font-weight: 600;
    border-radius: 10px;
    margin-left: auto;
}

.nrt-related-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.nrt-related-item {
    display: block;
    padding: 12px 14px;
    background: #fff;
    border-radius: 8px;
    border: 1px solid var(--nrt-gray-200);
    text-decoration: none;
    transition: all 0.15s ease;
}

.nrt-related-item:hover {
    border-color: var(--nrt-blue-300);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    transform: translateY(-1px);
}

.nrt-related-item-title {
    font-size: 14px;
    font-weight: 500;
    color: var(--nrt-gray-900);
    margin-bottom: 4px;
    line-height: 1.4;
}

.nrt-related-item:hover .nrt-related-item-title {
    color: var(--nrt-blue-600);
}

.nrt-related-item-excerpt {
    font-size: 13px;
    color: var(--nrt-gray-600);
    line-height: 1.5;
    margin-bottom: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.nrt-related-item-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 12px;
    color: var(--nrt-gray-500);
}

.nrt-related-item-meta span {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Job specific */
.nrt-related-job {
    border-left: 3px solid var(--nrt-blue-400);
}

/* News specific */
.nrt-related-news {
    border-left: 3px solid var(--nrt-green-400, #22c55e);
}

/* Deal specific */
.nrt-related-deal {
    border-left: 3px solid var(--nrt-amber-400, #f59e0b);
}

.nrt-deal-value {
    font-weight: 600;
    color: var(--nrt-amber-600, #d97706);
}

.nrt-related-item-deal-info {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 6px 0;
    font-size: 12px;
}

.nrt-deal-type {
    display: inline-block;
    padding: 2px 8px;
    background: var(--nrt-amber-100, #fef3c7);
    color: var(--nrt-amber-700, #b45309);
    border-radius: 4px;
    font-weight: 500;
    text-transform: capitalize;
}

.nrt-deal-parties {
    color: var(--nrt-gray-600, #4b5563);
    font-style: italic;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .nrt-firm-detail {
        padding: 20px 16px;
    }

    .nrt-firm-detail-header {
        gap: 16px;
    }

    .nrt-firm-detail-avatar {
        width: 56px;
        height: 56px;
        font-size: 18px;
    }

    .nrt-firm-detail-name {
        font-size: 22px;
    }

    .nrt-firm-detail-meta {
        gap: 12px;
    }

    .nrt-firm-facts {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ============================================
   MATCHES TAB STYLES
   Dating-app style recruiter matching interface
   ============================================ */

/* Nav Badge */
.nrt-nav-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--nrt-blue-500);
    color: white;
    font-size: 11px;
    font-weight: 600;
    border-radius: 9px;
    margin-left: 6px;
}

/* Matches Tab Container */
.nrt-tab-matches.is-active {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Matches Header */
.nrt-matches-header {
    padding: 20px 16px 16px;
    border-bottom: 1px solid var(--nrt-gray-200);
}

.nrt-matches-title {
    font-family: 'Noto Serif', serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 4px;
}

.nrt-matches-subtitle {
    font-size: 13px;
    color: var(--nrt-gray-500);
    margin: 0;
}

/* Matches List */
.nrt-matches-list {
    flex: 1;
    overflow-y: auto;
    padding: 8px 0;
}

/* Loading State */
.nrt-matches-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    gap: 12px;
    color: var(--nrt-gray-500);
}

.nrt-loading-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid var(--nrt-gray-200);
    border-top-color: var(--nrt-blue-500);
    border-radius: 50%;
    animation: nrt-spin 0.8s linear infinite;
}

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

/* Empty State */
.nrt-matches-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    text-align: center;
}

.nrt-matches-empty-icon {
    color: var(--nrt-gray-300);
    margin-bottom: 16px;
}

.nrt-matches-empty h4 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin: 0 0 8px;
}

.nrt-matches-empty p {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0 0 16px;
    max-width: 280px;
}

.nrt-update-prefs-btn {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background: var(--nrt-blue-500);
    color: white;
    font-size: 13px;
    font-weight: 500;
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.2s;
}

.nrt-update-prefs-btn:hover {
    background: var(--nrt-blue-600);
}

/* Recruiter CTA */
.nrt-recruiter-cta {
    margin-top: auto;
    padding: 16px;
    border-top: 1px solid var(--nrt-gray-200);
}

.nrt-recruiter-cta-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: linear-gradient(135deg, var(--nrt-gray-50) 0%, var(--nrt-gray-100) 100%);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    text-decoration: none;
    color: var(--nrt-gray-700);
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s;
}

.nrt-recruiter-cta-link:hover {
    background: linear-gradient(135deg, var(--nrt-blue-50) 0%, var(--nrt-blue-100) 100%);
    border-color: var(--nrt-blue-200);
    color: var(--nrt-blue-700);
}

.nrt-recruiter-cta-link svg:first-child {
    color: var(--nrt-gray-400);
    transition: color 0.2s;
}

.nrt-recruiter-cta-link:hover svg:first-child {
    color: var(--nrt-blue-500);
}

.nrt-recruiter-cta-link svg:last-child {
    margin-left: auto;
    color: var(--nrt-gray-400);
    transition: transform 0.2s, color 0.2s;
}

.nrt-recruiter-cta-link:hover svg:last-child {
    transform: translateX(3px);
    color: var(--nrt-blue-500);
}

/* Login Prompt */
.nrt-matches-login-prompt {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}

.nrt-matches-login-icon {
    color: var(--nrt-gray-300);
    margin-bottom: 20px;
}

.nrt-matches-login-prompt h3 {
    font-family: 'Noto Serif', serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 0 0 8px;
}

.nrt-matches-login-prompt p {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0 0 20px;
    max-width: 300px;
}

.nrt-matches-login-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 24px;
    background: var(--nrt-senna-primary);
    color: white;
    font-size: 14px;
    font-weight: 500;
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.2s;
}

.nrt-matches-login-btn:hover {
    background: var(--nrt-senna-secondary);
    color: white;
}

/* =====================================================
   COMPANIES TAB STYLES
   ===================================================== */

/* Companies Tab Container */
.nrt-tab-companies.is-active {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Companies Login Prompt */
.nrt-companies-login-prompt {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}

.nrt-companies-login-icon {
    color: var(--nrt-gray-300);
    margin-bottom: 20px;
}

.nrt-companies-login-prompt h3 {
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 0 0 8px;
}

.nrt-companies-login-prompt p {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0 0 20px;
    max-width: 300px;
}

.nrt-companies-login-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 20px;
    background: var(--nrt-senna-primary);
    color: white;
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s;
}

.nrt-companies-login-btn:hover {
    background: var(--nrt-senna-secondary);
    color: white;
}

/* Companies List */
.nrt-companies-list {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
}

/* Company Card */
.nrt-company-card {
    background: white;
    margin-bottom: 8px;
    padding: 14px 16px;
    border-radius: 10px;
    border: 1px solid var(--nrt-gray-200);
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-company-card:hover {
    border-color: var(--nrt-blue-300);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.nrt-company-card.is-selected {
    border-color: var(--nrt-blue-500);
    box-shadow: 0 0 0 3px var(--nrt-blue-100);
}

.nrt-company-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
}

.nrt-company-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 0;
}

.nrt-company-contact-count {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    background: var(--nrt-blue-50);
    color: var(--nrt-blue-600);
    font-size: 12px;
    font-weight: 500;
    border-radius: 12px;
}

.nrt-company-industry {
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin: 0 0 8px;
}

.nrt-company-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.nrt-company-location,
.nrt-company-size {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: var(--nrt-gray-500);
}

.nrt-company-location svg {
    color: var(--nrt-gray-400);
}

/* Companies Empty State */
.nrt-companies-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}

.nrt-companies-empty-icon {
    color: var(--nrt-gray-300);
    margin-bottom: 16px;
}

.nrt-companies-empty h4 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin: 0 0 8px;
}

.nrt-companies-empty p {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0;
}

/* Company Detail View */
.nrt-company-detail {
    padding: 24px;
}

.nrt-company-detail-header {
    margin-bottom: 20px;
}

.nrt-company-detail-name {
    font-size: 24px;
    font-weight: 700;
    color: var(--nrt-gray-900);
    margin: 0 0 4px;
}

.nrt-company-detail-industry {
    display: inline-block;
    padding: 4px 10px;
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-600);
    font-size: 12px;
    font-weight: 500;
    border-radius: 4px;
}

.nrt-company-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding: 16px 0;
    border-top: 1px solid var(--nrt-gray-200);
    border-bottom: 1px solid var(--nrt-gray-200);
    margin-bottom: 20px;
}

.nrt-company-detail-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--nrt-gray-600);
}

.nrt-company-detail-item svg {
    color: var(--nrt-gray-400);
}

.nrt-company-detail-item a {
    color: var(--nrt-blue-600);
    text-decoration: none;
}

.nrt-company-detail-item a:hover {
    text-decoration: underline;
}

.nrt-company-detail-description {
    margin-bottom: 24px;
}

.nrt-company-detail-description p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--nrt-gray-600);
    margin: 0;
}

/* Company Contacts Section */
.nrt-company-contacts-section {
    background: var(--nrt-gray-50);
    margin: -24px;
    margin-top: 0;
    padding: 20px 24px;
}

.nrt-company-contacts-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 0 0 16px;
}

.nrt-company-contacts-title svg {
    color: var(--nrt-gray-400);
}

.nrt-company-contacts-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    background: var(--nrt-blue-100);
    color: var(--nrt-blue-700);
    font-size: 11px;
    font-weight: 600;
    border-radius: 10px;
    margin-left: auto;
}

.nrt-company-contacts-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.nrt-company-contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-company-contact-item:hover {
    border-color: var(--nrt-blue-300);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.nrt-company-contact-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--nrt-blue-100);
    color: var(--nrt-blue-700);
    font-size: 14px;
    font-weight: 600;
    border-radius: 50%;
    flex-shrink: 0;
}

.nrt-company-contact-info {
    flex: 1;
    min-width: 0;
}

.nrt-company-contact-name {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: var(--nrt-gray-800);
}

.nrt-company-contact-title {
    display: block;
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nrt-company-contact-linkedin {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-600);
    border-radius: 6px;
    transition: all 0.2s;
}

.nrt-company-contact-linkedin:hover {
    background: #0a66c2;
    color: white;
}

.nrt-company-contacts-empty {
    text-align: center;
    padding: 20px;
    color: var(--nrt-gray-500);
    font-size: 14px;
}

/* Company Jobs Section (Open Jobs at Company) */
.nrt-company-jobs-section {
    background: var(--nrt-gray-50);
    margin: 0 -24px -24px;
    padding: 20px 24px;
    border-top: 1px solid var(--nrt-gray-200);
}

.nrt-company-jobs-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 0 0 16px;
}

.nrt-company-jobs-title svg {
    color: var(--nrt-gray-400);
}

.nrt-company-jobs-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    background: var(--nrt-green-100);
    color: var(--nrt-green-700);
    font-size: 11px;
    font-weight: 600;
    border-radius: 10px;
    margin-left: auto;
}

.nrt-company-jobs-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.nrt-company-job-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    transition: all 0.2s;
}

.nrt-company-job-item:hover {
    border-color: var(--nrt-green-300);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.nrt-company-job-info {
    flex: 1;
    min-width: 0;
}

.nrt-company-job-title {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: var(--nrt-gray-800);
    text-decoration: none;
    line-height: 1.3;
}

.nrt-company-job-title:hover {
    color: var(--nrt-blue-600);
    text-decoration: underline;
}

.nrt-company-job-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 4px;
    font-size: 12px;
    color: var(--nrt-gray-500);
}

.nrt-company-job-location {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.nrt-company-job-location svg {
    color: var(--nrt-gray-400);
}

.nrt-company-job-posted {
    color: var(--nrt-gray-400);
}

.nrt-company-job-apply {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    background: var(--nrt-green-600);
    color: white;
    font-size: 12px;
    font-weight: 500;
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.2s;
    flex-shrink: 0;
}

.nrt-company-job-apply:hover {
    background: var(--nrt-green-700);
    color: white;
}

.nrt-company-jobs-empty {
    text-align: center;
    padding: 20px;
    color: var(--nrt-gray-500);
    font-size: 14px;
}

/* =====================================================
   KNOW SOMEONE HERE - JOB CONTACTS SECTION
   ===================================================== */

.nrt-networking-section {
    margin-top: 24px;
}

.nrt-networking-section .nrt-chart-card {
    border: 2px solid var(--nrt-blue-200);
    background: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%);
}

.nrt-contacts-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 8px;
    background: var(--nrt-blue-500);
    color: white;
    font-size: 12px;
    font-weight: 600;
    border-radius: 12px;
    margin-left: auto;
}

.nrt-networking-tip {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: var(--nrt-blue-50);
    border-radius: 8px;
    margin: 16px 0;
    font-size: 13px;
    color: var(--nrt-blue-700);
}

.nrt-networking-tip svg {
    color: var(--nrt-blue-500);
    flex-shrink: 0;
}

.nrt-networking-tip strong {
    color: var(--nrt-blue-800);
}

.nrt-job-contacts-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.nrt-job-contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-job-contact-item:hover {
    border-color: var(--nrt-blue-300);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.nrt-job-contact-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--nrt-blue-100);
    color: var(--nrt-blue-700);
    font-size: 14px;
    font-weight: 600;
    border-radius: 50%;
    flex-shrink: 0;
}

.nrt-job-contact-info {
    flex: 1;
    min-width: 0;
}

.nrt-job-contact-name {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: var(--nrt-gray-800);
}

.nrt-job-contact-title {
    display: block;
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nrt-job-contact-linkedin {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-600);
    border-radius: 6px;
    transition: all 0.2s;
}

.nrt-job-contact-linkedin:hover {
    background: #0a66c2;
    color: white;
}

.nrt-job-contacts-more {
    margin-top: 12px;
    text-align: center;
}

.nrt-view-all-contacts-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: transparent;
    border: 1px solid var(--nrt-blue-200);
    color: var(--nrt-blue-600);
    font-size: 13px;
    font-weight: 500;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-view-all-contacts-btn:hover {
    background: var(--nrt-blue-50);
    border-color: var(--nrt-blue-300);
}

.nrt-view-all-contacts-btn svg {
    transition: transform 0.2s;
}

.nrt-view-all-contacts-btn:hover svg {
    transform: translateX(3px);
}

/* Job Contacts Match Reasons */
.nrt-job-contact-match {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 4px;
}

.nrt-match-reason {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 10px;
    font-weight: 500;
    padding: 2px 6px;
    border-radius: 4px;
    background: var(--nrt-blue-50);
    color: var(--nrt-blue-600);
}

.nrt-match-reason svg {
    width: 10px;
    height: 10px;
}

/* Premium Badge */
.nrt-badge-premium {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 3px 8px;
    border-radius: 4px;
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    color: white;
}

.nrt-badge-premium svg {
    width: 12px;
    height: 12px;
}

/* Contacts Upgrade Prompt */
.nrt-contacts-upgrade-prompt {
    position: relative;
    margin-top: 24px;
    border: 2px solid var(--nrt-gray-200);
    border-radius: 12px;
    overflow: hidden;
    background: var(--nrt-white);
}

.nrt-contacts-upgrade-preview {
    position: relative;
    padding: 16px;
}

.nrt-contact-blurred {
    filter: blur(6px);
    opacity: 0.5;
    pointer-events: none;
    user-select: none;
}

.nrt-contacts-upgrade-cta {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    padding: 24px;
    text-align: center;
}

.nrt-upgrade-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    border-radius: 12px;
    color: white;
    margin-bottom: 12px;
}

.nrt-upgrade-icon svg {
    width: 24px;
    height: 24px;
}

.nrt-upgrade-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin-bottom: 6px;
}

.nrt-upgrade-text {
    font-size: 13px;
    color: var(--nrt-gray-500);
    margin-bottom: 16px;
    max-width: 280px;
}

.nrt-upgrade-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    color: white;
    font-size: 14px;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s;
    box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
}

.nrt-upgrade-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4);
}

.nrt-upgrade-btn svg {
    width: 16px;
    height: 16px;
}

/* Premium Contacts Header */
.nrt-networking-header-premium {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.nrt-networking-header-premium .nrt-networking-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
}

/* =====================================================
   PROFILE NETWORKING SECTIONS
   ===================================================== */

/* Profile Stats */
.nrt-profile-stats-section {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 12px;
    background: var(--nrt-gray-50);
    border-bottom: 1px solid var(--nrt-gray-200);
}

.nrt-profile-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 12px 8px;
    background: white;
    border-radius: 8px;
    text-align: center;
}

.nrt-profile-stat-value {
    font-size: 20px;
    font-weight: 700;
    color: var(--nrt-gray-900);
}

.nrt-profile-stat-label {
    font-size: 10px;
    color: var(--nrt-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 2px;
}

/* Networking Section */
.nrt-profile-networking-section {
    border-bottom: 1px solid var(--nrt-gray-200);
}

.nrt-profile-section-header {
    padding: 12px 16px 8px;
}

.nrt-profile-section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    color: var(--nrt-gray-600);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0;
}

.nrt-profile-section-title svg {
    color: var(--nrt-gray-400);
}

.nrt-profile-empty {
    padding: 16px;
    text-align: center;
}

.nrt-profile-empty p {
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin: 0;
}

/* Saved Contact Cards */
.nrt-saved-contacts-list,
.nrt-target-companies-list,
.nrt-outreach-log-list {
    padding: 0 12px 12px;
}

.nrt-saved-contact-card,
.nrt-target-company-card,
.nrt-outreach-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    margin-bottom: 6px;
}

.nrt-saved-contact-card:hover,
.nrt-target-company-card:hover,
.nrt-outreach-card:hover {
    border-color: var(--nrt-gray-300);
}

.nrt-saved-contact-avatar,
.nrt-outreach-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--nrt-blue-100);
    color: var(--nrt-blue-700);
    font-size: 11px;
    font-weight: 600;
    border-radius: 50%;
    flex-shrink: 0;
}

.nrt-saved-contact-info,
.nrt-outreach-info {
    flex: 1;
    min-width: 0;
}

.nrt-saved-contact-name,
.nrt-outreach-name {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-gray-800);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nrt-saved-contact-title,
.nrt-saved-contact-company,
.nrt-outreach-company {
    display: block;
    font-size: 11px;
    color: var(--nrt-gray-500);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nrt-outreach-date {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    color: var(--nrt-gray-400);
    margin-top: 2px;
}

.nrt-saved-contact-actions,
.nrt-outreach-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.nrt-contacted-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 3px 6px;
    background: var(--nrt-green-100);
    color: var(--nrt-green-700);
    font-size: 10px;
    font-weight: 500;
    border-radius: 4px;
}

.nrt-saved-contact-linkedin,
.nrt-outreach-linkedin {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-500);
    border-radius: 4px;
    transition: all 0.2s;
}

.nrt-saved-contact-linkedin:hover,
.nrt-outreach-linkedin:hover {
    background: #0a66c2;
    color: white;
}

.nrt-unsave-contact-btn,
.nrt-remove-target-btn,
.nrt-remove-outreach-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background: transparent;
    border: none;
    color: var(--nrt-gray-400);
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-unsave-contact-btn:hover,
.nrt-remove-target-btn:hover,
.nrt-remove-outreach-btn:hover {
    background: var(--nrt-red-50);
    color: var(--nrt-red-500);
}

/* Target Company Cards */
.nrt-target-company-info {
    flex: 1;
    min-width: 0;
}

.nrt-target-company-name {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-gray-800);
}

.nrt-target-company-industry {
    display: block;
    font-size: 11px;
    color: var(--nrt-gray-500);
}

.nrt-target-company-meta {
    display: flex;
    align-items: center;
    gap: 8px;
}

.nrt-target-company-contacts {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 6px;
    background: var(--nrt-blue-50);
    color: var(--nrt-blue-600);
    font-size: 11px;
    font-weight: 500;
    border-radius: 4px;
}

/* Match Card */
.nrt-match-card {
    background: white;
    margin: 0 12px 12px;
    padding: 16px;
    border-radius: 12px;
    border: 1px solid var(--nrt-gray-200);
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-match-card:hover {
    border-color: var(--nrt-blue-300);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.nrt-match-card.is-selected {
    border-color: var(--nrt-blue-500);
    box-shadow: 0 0 0 3px var(--nrt-blue-100);
}

/* Match Card Header */
.nrt-match-card__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}

.nrt-match-recruiter {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nrt-match-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.nrt-match-avatar--initials {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--nrt-senna-primary), var(--nrt-senna-secondary));
    color: white;
    font-weight: 600;
    font-size: 16px;
}

.nrt-match-recruiter-info {
    display: flex;
    flex-direction: column;
}

.nrt-match-recruiter-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-800);
}

.nrt-match-recruiter-company {
    font-size: 12px;
    color: var(--nrt-gray-500);
}

/* Match Score Ring */
.nrt-match-score {
    position: relative;
    width: 44px;
    height: 44px;
}

.nrt-match-score-ring {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.nrt-match-score-bg {
    fill: none;
    stroke: var(--nrt-gray-200);
    stroke-width: 3;
}

.nrt-match-score-fill {
    fill: none;
    stroke-width: 3;
    stroke-linecap: round;
    transition: stroke-dasharray 0.5s ease;
}

.nrt-match-score--excellent .nrt-match-score-fill { stroke: #10b981; }
.nrt-match-score--good .nrt-match-score-fill { stroke: #3b82f6; }
.nrt-match-score--fair .nrt-match-score-fill { stroke: #f59e0b; }
.nrt-match-score--low .nrt-match-score-fill { stroke: #ef4444; }

.nrt-match-score-value {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 12px;
    font-weight: 700;
    color: var(--nrt-gray-700);
}

/* Match Card Body */
.nrt-match-card__body {
    margin-bottom: 12px;
}

.nrt-match-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 8px;
    line-height: 1.3;
}

.nrt-match-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin-bottom: 4px;
}

.nrt-match-meta svg {
    flex-shrink: 0;
}

/* Match Card Footer Actions */
.nrt-match-card__footer {
    display: flex;
    justify-content: center;
    gap: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--nrt-gray-100);
}

.nrt-match-action {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 2px solid var(--nrt-gray-200);
    background: white;
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-match-action--skip {
    color: var(--nrt-gray-400);
}

.nrt-match-action--skip:hover {
    border-color: #ef4444;
    color: #ef4444;
    background: #fef2f2;
}

.nrt-match-action--view {
    color: var(--nrt-gray-500);
}

.nrt-match-action--view:hover {
    border-color: var(--nrt-blue-500);
    color: var(--nrt-blue-500);
    background: var(--nrt-blue-50);
}

.nrt-match-action--interested {
    color: #ec4899;
}

.nrt-match-action--interested:hover {
    border-color: #ec4899;
    background: #fdf2f8;
}

/* Match Detail Panel */
.nrt-match-detail {
    padding: 24px;
}

.nrt-match-detail__recruiter {
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--nrt-gray-200);
}

.nrt-match-detail__recruiter-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.nrt-match-detail__avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
}

.nrt-match-detail__avatar--initials {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--nrt-senna-primary), var(--nrt-senna-secondary));
    color: white;
    font-weight: 600;
    font-size: 24px;
}

.nrt-match-detail__recruiter-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.nrt-match-detail__recruiter-name {
    font-family: 'Noto Serif', serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0;
}

.nrt-match-detail__recruiter-title,
.nrt-match-detail__recruiter-company {
    font-size: 14px;
    color: var(--nrt-gray-500);
}

.nrt-match-detail__badge {
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 4px;
    text-transform: uppercase;
}

.nrt-match-detail__badge--external {
    background: var(--nrt-amber-100, #fef3c7);
    color: var(--nrt-amber-700, #b45309);
}

/* Score Section in Detail */
.nrt-match-detail__score-section {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 24px;
    padding: 20px;
    background: var(--nrt-gray-50);
    border-radius: 12px;
}

.nrt-match-detail__score {
    position: relative;
    width: 80px;
    height: 80px;
    flex-shrink: 0;
}

.nrt-match-detail__score-ring {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.nrt-match-detail__score-bg {
    fill: none;
    stroke: var(--nrt-gray-200);
    stroke-width: 4;
}

.nrt-match-detail__score-fill {
    fill: none;
    stroke-width: 4;
    stroke-linecap: round;
}

.nrt-match-detail__score--excellent .nrt-match-detail__score-fill { stroke: #10b981; }
.nrt-match-detail__score--good .nrt-match-detail__score-fill { stroke: #3b82f6; }
.nrt-match-detail__score--fair .nrt-match-detail__score-fill { stroke: #f59e0b; }
.nrt-match-detail__score--low .nrt-match-detail__score-fill { stroke: #ef4444; }

.nrt-match-detail__score-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.nrt-match-detail__score-value {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: var(--nrt-gray-800);
}

.nrt-match-detail__score-label {
    display: block;
    font-size: 11px;
    color: var(--nrt-gray-500);
    text-transform: uppercase;
}

/* Score Breakdown */
.nrt-match-detail__breakdown {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.nrt-match-detail__breakdown-item {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.nrt-match-detail__breakdown-label {
    width: 80px;
    font-size: 12px;
    color: var(--nrt-gray-600);
    flex-shrink: 0;
}

.nrt-match-detail__breakdown-bar {
    flex: 1;
    height: 6px;
    background: var(--nrt-gray-200);
    border-radius: 3px;
    overflow: hidden;
}

.nrt-match-detail__breakdown-fill {
    height: 100%;
    background: var(--nrt-blue-500);
    border-radius: 3px;
    transition: width 0.3s ease;
}

/* Brief Section */
.nrt-match-detail__brief {
    margin-bottom: 24px;
}

.nrt-match-detail__title {
    font-family: 'Noto Serif', serif;
    font-size: 24px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 16px;
    line-height: 1.3;
}

.nrt-match-detail__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 20px;
}

.nrt-match-detail__meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: var(--nrt-gray-600);
}

.nrt-match-detail__description {
    margin-bottom: 20px;
}

.nrt-match-detail__description h4 {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin: 0 0 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nrt-match-detail__content {
    font-size: 15px;
    line-height: 1.7;
    color: var(--nrt-gray-700);
}

.nrt-match-detail__content p {
    margin: 0 0 12px;
}

/* Skills */
.nrt-match-detail__skills h4 {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nrt-match-detail__skills-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.nrt-match-detail__skill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    background: var(--nrt-blue-50);
    color: var(--nrt-blue-700);
    font-size: 13px;
    font-weight: 500;
    border-radius: 6px;
    transition: all 0.2s;
}

.nrt-match-detail__skill.is-matched {
    background: linear-gradient(135deg, #dcfce7, #d1fae5);
    color: #15803d;
    border: 1px solid rgba(34, 197, 94, 0.3);
}

.nrt-match-detail__skill.is-matched svg {
    color: #22c55e;
    flex-shrink: 0;
}

/* Detail Actions */
.nrt-match-detail__actions {
    display: flex;
    gap: 12px;
    padding-top: 20px;
    border-top: 1px solid var(--nrt-gray-200);
}

.nrt-match-detail__action {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 20px;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-match-detail__action--skip {
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-600);
}

.nrt-match-detail__action--skip:hover {
    background: var(--nrt-gray-200);
}

.nrt-match-detail__action--interested {
    background: linear-gradient(135deg, #ec4899, #f43f5e);
    color: white;
}

.nrt-match-detail__action--interested:hover {
    background: linear-gradient(135deg, #db2777, #e11d48);
}

/* Responded States */
.nrt-match-detail__actions--responded {
    flex-direction: column;
    align-items: stretch;
}

.nrt-match-detail__confirmed {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    background: linear-gradient(135deg, #dcfce7, #d1fae5);
    border-radius: 12px;
    border: 1px solid rgba(34, 197, 94, 0.3);
}

.nrt-match-detail__confirmed svg {
    color: #22c55e;
    flex-shrink: 0;
}

.nrt-match-detail__confirmed-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nrt-match-detail__confirmed-title {
    font-size: 16px;
    font-weight: 600;
    color: #15803d;
}

.nrt-match-detail__confirmed-subtitle {
    font-size: 14px;
    color: #166534;
    opacity: 0.85;
}

/* Skipped State */
.nrt-match-detail__actions--skipped {
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 20px;
    background: var(--nrt-gray-50);
    border-radius: 12px;
    border: 1px solid var(--nrt-gray-200);
}

.nrt-match-detail__skipped-text {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0;
}

.nrt-match-detail__action--undo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    background: white;
    border: 1px solid var(--nrt-gray-300);
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    color: var(--nrt-gray-600);
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-match-detail__action--undo:hover {
    background: var(--nrt-gray-50);
    border-color: var(--nrt-gray-400);
    color: var(--nrt-gray-700);
}

/* Rating Stars */
.nrt-match-detail__rating {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
}

.nrt-match-detail__stars {
    display: flex;
    gap: 2px;
}

.nrt-star {
    color: var(--nrt-gray-300);
}

.nrt-star.is-filled {
    color: #fbbf24;
}

.nrt-star.is-half {
    color: #fbbf24;
}

.nrt-match-detail__rating-text {
    font-size: 13px;
    font-weight: 600;
    color: var(--nrt-gray-700);
}

.nrt-match-detail__review-count {
    font-size: 12px;
    color: var(--nrt-gray-500);
}

/* Recruiter Contact */
.nrt-match-detail__contact {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}

.nrt-match-detail__contact-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--nrt-gray-600);
}

.nrt-match-detail__contact-link {
    color: var(--nrt-blue-600);
    text-decoration: none;
    transition: color 0.2s;
}

.nrt-match-detail__contact-link:hover {
    color: var(--nrt-blue-700);
    text-decoration: underline;
}

/* Recruiter Bio */
.nrt-match-detail__bio {
    margin: 12px 0 0;
    padding: 12px 0 0;
    border-top: 1px solid var(--nrt-gray-100);
    font-size: 14px;
    line-height: 1.6;
    color: var(--nrt-gray-600);
}

/* Criteria Grid */
.nrt-match-detail__criteria {
    margin-top: 20px;
}

.nrt-match-detail__criteria h4 {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nrt-match-detail__criteria-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
}

.nrt-match-detail__criteria-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 12px;
    background: var(--nrt-gray-50);
    border-radius: 8px;
}

.nrt-match-detail__criteria-label {
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--nrt-gray-500);
}

.nrt-match-detail__criteria-value {
    font-size: 14px;
    font-weight: 500;
    color: var(--nrt-gray-800);
}

/* Breakdown Value */
.nrt-match-detail__breakdown-value {
    font-size: 12px;
    font-weight: 600;
    color: var(--nrt-gray-600);
    min-width: 24px;
    text-align: right;
}

/* Mobile Responsive Matches */
@media (max-width: 768px) {
    .nrt-match-card {
        margin: 0 8px 8px;
        padding: 14px;
    }

    .nrt-match-detail {
        padding: 16px;
    }

    .nrt-match-detail__score-section {
        flex-direction: column;
        gap: 16px;
    }

    .nrt-match-detail__breakdown {
        width: 100%;
    }

    .nrt-match-detail__title {
        font-size: 20px;
    }

    .nrt-match-detail__actions {
        flex-direction: column;
    }
}

/* Toast Notifications */
@keyframes nrt-toast-in {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

@keyframes nrt-toast-out {
    from {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
    to {
        opacity: 0;
        transform: translateX(-50%) translateY(20px);
    }
}

/* ============================================
   CONTACTS TAB STYLES
   ============================================ */

/* Contacts Tab Container */
.nrt-tab-contacts.is-active {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Contacts Login Prompt */
.nrt-contacts-login-prompt {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    text-align: center;
    height: 100%;
}

.nrt-contacts-login-icon {
    margin-bottom: 20px;
    color: var(--nrt-gray-300);
}

.nrt-contacts-login-prompt h3 {
    font-family: 'Noto Serif', serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 0 0 10px;
}

.nrt-contacts-login-prompt p {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0 0 24px;
    max-width: 280px;
}

.nrt-contacts-login-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 24px;
    background: var(--nrt-navy-800);
    color: var(--nrt-white);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 6px;
    transition: background 0.15s ease;
}

.nrt-contacts-login-btn:hover {
    background: var(--nrt-navy-700);
    color: var(--nrt-white);
}

/* Contacts Filter Bar */
.nrt-contacts-filter-bar {
    padding: 12px 16px;
    border-bottom: 1px solid var(--nrt-gray-200);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.nrt-contacts-search {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--nrt-gray-50);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 6px;
    padding: 8px 12px;
}

.nrt-contacts-search svg {
    width: 16px;
    height: 16px;
    color: var(--nrt-gray-400);
    flex-shrink: 0;
}

.nrt-contacts-search input {
    flex: 1;
    border: none;
    background: none;
    font-size: 13px;
    color: var(--nrt-gray-800);
    outline: none;
}

.nrt-contacts-search input::placeholder {
    color: var(--nrt-gray-400);
}

.nrt-contacts-filters {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.nrt-contacts-select {
    flex: 1;
    min-width: 100px;
    padding: 6px 10px;
    font-size: 12px;
    color: var(--nrt-gray-700);
    background: var(--nrt-white);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 4px;
    cursor: pointer;
}

.nrt-contacts-select:focus {
    outline: none;
    border-color: var(--nrt-blue-500);
}

/* Contacts List */
.nrt-contacts-list {
    flex: 1;
    overflow-y: auto;
    padding: 8px 0;
}

.nrt-contacts-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    gap: 12px;
    color: var(--nrt-gray-500);
    font-size: 13px;
}

/* Contact Card */
.nrt-contact-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 16px;
    cursor: pointer;
    transition: background 0.15s ease;
    border-bottom: 1px solid var(--nrt-gray-100);
}

.nrt-contact-card:hover {
    background: var(--nrt-cream-50);
}

.nrt-contact-card.is-active {
    background: var(--nrt-blue-50);
    border-left: 3px solid var(--nrt-blue-500);
    padding-left: 13px;
}

/* Locked contact card */
.nrt-contact-card.is-locked {
    position: relative;
    pointer-events: auto;
    cursor: pointer;
}

.nrt-contact-card.is-locked .nrt-contact-card-info {
    filter: blur(3px);
    user-select: none;
}

.nrt-contact-card.is-locked .nrt-story-lock {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--nrt-gray-100);
    border-radius: 50%;
    color: var(--nrt-gray-500);
}

.nrt-contact-card.is-locked .nrt-story-lock svg {
    width: 14px;
    height: 14px;
}

/* ===============================
   Welcome Modal (Logged-Out Users)
   =============================== */

.nrt-welcome-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    padding: 1rem;
}

.nrt-welcome-modal-overlay.is-active {
    opacity: 1;
    visibility: visible;
}

.nrt-welcome-modal {
    background: var(--nrt-white, #ffffff);
    border-radius: 16px;
    width: 100%;
    max-width: 400px;
    padding: 32px;
    position: relative;
    transform: translateY(20px) scale(0.95);
    transition: transform 0.3s ease;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    text-align: center;
}

.nrt-welcome-modal-overlay.is-active .nrt-welcome-modal {
    transform: translateY(0) scale(1);
}

.nrt-welcome-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    color: var(--nrt-gray-400, #9ca3af);
    transition: color 0.2s ease;
}

.nrt-welcome-close:hover {
    color: var(--nrt-gray-700, #374151);
}

.nrt-welcome-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--nrt-teal-50, #f0fdfa) 0%, var(--nrt-teal-100, #ccfbf1) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: var(--nrt-teal, #14b8a6);
}

.nrt-welcome-title {
    font-family: 'Noto Serif', serif;
    font-size: 22px;
    font-weight: 600;
    color: var(--nrt-gray-900, #111827);
    margin: 0 0 12px;
}

.nrt-welcome-desc {
    font-size: 15px;
    color: var(--nrt-gray-600, #6b7280);
    line-height: 1.5;
    margin: 0 0 20px;
}

.nrt-welcome-benefits {
    text-align: left;
    margin-bottom: 24px;
    padding: 16px;
    background: var(--nrt-gray-50, #f9fafb);
    border-radius: 12px;
}

.nrt-welcome-benefit {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    font-size: 14px;
    color: var(--nrt-gray-700, #374151);
}

.nrt-welcome-benefit svg {
    color: var(--nrt-teal, #14b8a6);
    flex-shrink: 0;
}

.nrt-welcome-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.nrt-welcome-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
    border: none;
}

.nrt-welcome-btn--primary {
    background: var(--nrt-teal, #14b8a6);
    color: var(--nrt-white, #ffffff);
}

.nrt-welcome-btn--primary:hover {
    background: var(--nrt-teal-dark, #0d9488);
}

.nrt-welcome-btn--secondary {
    background: transparent;
    color: var(--nrt-gray-700, #374151);
    border: 1px solid var(--nrt-gray-300, #d1d5db);
}

.nrt-welcome-btn--secondary:hover {
    background: var(--nrt-gray-50, #f9fafb);
    border-color: var(--nrt-gray-400, #9ca3af);
}

/* Locked opportunity card */
.nrt-opportunity-card.is-locked {
    position: relative;
    pointer-events: auto;
    cursor: pointer;
}

.nrt-opportunity-card.is-locked .nrt-opp-card-info,
.nrt-opportunity-card.is-locked .nrt-opp-card-source {
    filter: blur(3px);
    user-select: none;
}

.nrt-opportunity-card.is-locked .nrt-story-lock {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--nrt-gray-100);
    border-radius: 50%;
    color: var(--nrt-gray-500);
}

.nrt-opportunity-card.is-locked .nrt-story-lock svg {
    width: 14px;
    height: 14px;
}

/* Locked conversation card */
.nrt-conversation-card.is-locked {
    position: relative;
    pointer-events: auto;
    cursor: pointer;
}

.nrt-conversation-card.is-locked .nrt-conv-card-content {
    filter: blur(3px);
    user-select: none;
}

.nrt-conversation-card.is-locked .nrt-story-lock {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--nrt-gray-100);
    border-radius: 50%;
    color: var(--nrt-gray-500);
}

.nrt-conversation-card.is-locked .nrt-story-lock svg {
    width: 14px;
    height: 14px;
}

.nrt-contact-card-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--nrt-navy-800);
    color: var(--nrt-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    flex-shrink: 0;
}

.nrt-contact-card-info {
    flex: 1;
    min-width: 0;
}

.nrt-contact-card-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nrt-contact-card-title {
    font-size: 12px;
    color: var(--nrt-gray-600);
    margin: 0 0 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nrt-contact-card-company {
    font-size: 11px;
    color: var(--nrt-gray-500);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nrt-contact-card-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
}

.nrt-contact-card-tag {
    display: inline-flex;
    align-items: center;
    padding: 2px 6px;
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-600);
    font-size: 10px;
    border-radius: 3px;
}

/* Contacts Pagination */
.nrt-contacts-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 16px;
    border-top: 1px solid var(--nrt-gray-200);
}

.nrt-contacts-page-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--nrt-white);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 4px;
    cursor: pointer;
    color: var(--nrt-gray-600);
    transition: all 0.15s ease;
}

.nrt-contacts-page-btn:hover:not(:disabled) {
    background: var(--nrt-gray-50);
    border-color: var(--nrt-gray-300);
}

.nrt-contacts-page-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.nrt-contacts-page-info {
    font-size: 13px;
    color: var(--nrt-gray-600);
}

/* Contacts Empty State */
.nrt-contacts-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    text-align: center;
}

.nrt-contacts-empty-icon {
    margin-bottom: 16px;
    color: var(--nrt-gray-300);
}

.nrt-contacts-empty h4 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin: 0 0 8px;
}

.nrt-contacts-empty p {
    font-size: 13px;
    color: var(--nrt-gray-500);
    margin: 0;
}

/* Contact Detail Panel (Slide-in) */
.nrt-contact-detail-panel {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.nrt-contact-detail-panel.is-open {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
}

.nrt-contact-detail-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    cursor: pointer;
}

.nrt-contact-detail-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 400px;
    background: var(--nrt-white, #ffffff);
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.3s ease;
}

.nrt-contact-detail-panel.is-open .nrt-contact-detail-content {
    transform: translateX(0);
}

.nrt-contact-detail-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    border: none;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--nrt-white, #ffffff);
    z-index: 10;
    transition: background 0.2s ease;
}

.nrt-contact-detail-close:hover {
    background: rgba(255, 255, 255, 0.2);
}

.nrt-contact-detail-header {
    padding: 32px 24px 24px;
    background: linear-gradient(135deg, var(--nrt-navy-800, #1a1f2e), var(--nrt-navy-700, #252b3d));
    color: var(--nrt-white, #ffffff);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.nrt-contact-detail-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    overflow: hidden;
}

.nrt-contact-detail-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nrt-contact-detail-avatar svg {
    width: 40px;
    height: 40px;
    color: rgba(255, 255, 255, 0.5);
}

.nrt-contact-detail-initials {
    font-size: 28px;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
}

.nrt-contact-detail-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nrt-contact-detail-name {
    font-size: 20px;
    font-weight: 600;
    margin: 0;
    color: var(--nrt-white, #ffffff);
}

.nrt-contact-detail-title {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
}

.nrt-contact-detail-company {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    margin: 0;
}

.nrt-contact-detail-body {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
}

.nrt-contact-detail-section {
    margin-bottom: 24px;
}

.nrt-contact-detail-section:last-child {
    margin-bottom: 0;
}

.nrt-contact-detail-section h4 {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--nrt-gray-500, #6b7280);
    margin: 0 0 12px 0;
}

.nrt-contact-detail-meta {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nrt-contact-detail-meta-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nrt-contact-detail-meta-label {
    font-size: 13px;
    color: var(--nrt-gray-500, #6b7280);
}

.nrt-contact-detail-meta-value {
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-navy-800, #1a1f2e);
}

.nrt-contact-detail-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.nrt-contact-detail-tag {
    display: inline-block;
    padding: 4px 10px;
    background: var(--nrt-cream-100, #f5f1eb);
    border-radius: 4px;
    font-size: 12px;
    color: var(--nrt-navy-700, #252b3d);
}

.nrt-contact-detail-actions {
    padding: 20px 24px;
    border-top: 1px solid var(--nrt-gray-200, #e5e7eb);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nrt-contact-detail-linkedin {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    background: #0077b5;
    color: var(--nrt-white, #ffffff);
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.2s ease;
}

.nrt-contact-detail-linkedin:hover {
    background: #005e93;
}

.nrt-contact-detail-intro-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    background: var(--nrt-teal, #14b8a6);
    color: var(--nrt-white, #ffffff);
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s ease;
}

.nrt-contact-detail-intro-btn:hover {
    background: var(--nrt-teal-dark, #0d9488);
}

/* Body class when panel is open */
body.nrt-panel-open {
    overflow: hidden;
}

/* Mobile adjustments for detail panel */
@media (max-width: 480px) {
    .nrt-contact-detail-content {
        max-width: 100%;
    }
}

/* Contact Detail View */
.nrt-contact-view {
    height: 100%;
    overflow-y: auto;
    background: var(--nrt-white);
}

.nrt-contact-header {
    padding: 24px;
    background: linear-gradient(135deg, var(--nrt-navy-800), var(--nrt-navy-700));
    color: var(--nrt-white);
}

.nrt-contact-header-top {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.nrt-contact-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--nrt-cream-200);
    color: var(--nrt-navy-800);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 600;
    flex-shrink: 0;
}

.nrt-contact-title-area {
    flex: 1;
    min-width: 0;
}

.nrt-contact-title-area h1 {
    font-family: 'Noto Serif', serif;
    font-size: 24px;
    font-weight: 600;
    margin: 0 0 4px;
    color: var(--nrt-white);
}

.nrt-contact-title-area p {
    margin: 0;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
}

.nrt-contact-company-name {
    font-weight: 500;
    color: rgba(255, 255, 255, 0.9) !important;
    margin-top: 4px !important;
}

.nrt-contact-actions {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

.nrt-contact-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 6px;
    transition: all 0.15s ease;
    background: rgba(255, 255, 255, 0.1);
    color: var(--nrt-white);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.nrt-contact-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    color: var(--nrt-white);
}

.nrt-contact-btn--primary {
    background: var(--nrt-white);
    color: var(--nrt-navy-800);
    border-color: var(--nrt-white);
}

.nrt-contact-btn--primary:hover {
    background: var(--nrt-cream-100);
    color: var(--nrt-navy-800);
}

.nrt-contact-body {
    padding: 24px;
}

.nrt-contact-section {
    margin-bottom: 28px;
}

.nrt-contact-section:last-child {
    margin-bottom: 0;
}

.nrt-contact-section h3 {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin: 0 0 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--nrt-gray-200);
}

.nrt-contact-info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.nrt-contact-info-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nrt-contact-info-full {
    grid-column: span 2;
}

.nrt-contact-info-label {
    font-size: 11px;
    font-weight: 500;
    color: var(--nrt-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nrt-contact-info-value {
    font-size: 14px;
    color: var(--nrt-gray-800);
}

.nrt-contact-desc {
    font-size: 13px;
    line-height: 1.6;
    color: var(--nrt-gray-600);
}

.nrt-contact-company-links {
    display: flex;
    gap: 16px;
    margin-top: 16px;
}

.nrt-contact-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--nrt-blue-600);
    text-decoration: none;
}

.nrt-contact-link:hover {
    text-decoration: underline;
}

/* Responsive Contacts */
@media (max-width: 768px) {
    .nrt-contact-header-top {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .nrt-contact-actions {
        width: 100%;
        justify-content: center;
    }

    .nrt-contact-info-grid {
        grid-template-columns: 1fr;
    }

    .nrt-contact-info-full {
        grid-column: span 1;
    }
}

/* =====================================================
   USER DROPDOWN ENHANCEMENTS
   ===================================================== */

.nrt-user-dropdown-divider {
    height: 1px;
    background: var(--nrt-gray-200);
    margin: 4px 0;
}

.nrt-dropdown-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--nrt-senna-primary);
    color: white;
    font-size: 11px;
    font-weight: 600;
    border-radius: 9px;
    margin-left: auto;
}

/* =====================================================
   RECRUITER INTROS TAB STYLES
   ===================================================== */

.nrt-tab-recruiter-intros.is-active {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Login Prompt */
.nrt-intros-login-prompt {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}

.nrt-intros-login-icon {
    color: var(--nrt-gray-300);
    margin-bottom: 20px;
}

.nrt-intros-login-prompt h3 {
    font-family: 'Noto Serif', serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 0 0 8px;
}

.nrt-intros-login-prompt p {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0 0 20px;
    max-width: 300px;
}

.nrt-intros-login-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 24px;
    background: var(--nrt-senna-primary);
    color: white;
    font-size: 14px;
    font-weight: 500;
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.2s;
}

.nrt-intros-login-btn:hover {
    background: var(--nrt-senna-secondary);
    color: white;
}

/* Intros Dashboard */
.nrt-intros-dashboard {
    padding: 20px 16px;
    height: 100%;
    overflow-y: auto;
}

/* Intros Header */
.nrt-intros-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--nrt-gray-200);
}

.nrt-intros-header-content {
    flex: 1;
}

.nrt-intros-title {
    font-family: 'Noto Serif', serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 4px;
}

.nrt-intros-subtitle {
    font-size: 13px;
    color: var(--nrt-gray-500);
    margin: 0;
}

/* Status Badge */
.nrt-intros-status {
    flex-shrink: 0;
}

.nrt-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 500;
    border-radius: 20px;
}

.nrt-status-inactive {
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-600);
}

.nrt-status-active {
    background: rgba(16, 185, 129, 0.1);
    color: #059669;
}

.nrt-status-paused {
    background: rgba(245, 158, 11, 0.1);
    color: #d97706;
}

/* Campaign Setup */
.nrt-intros-setup {
    display: grid;
    gap: 20px;
}

.nrt-intros-setup-card {
    background: linear-gradient(135deg, var(--nrt-cream-50) 0%, var(--nrt-cream-100) 100%);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 12px;
    padding: 24px;
    text-align: center;
}

.nrt-intros-setup-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: white;
    border-radius: 50%;
    color: var(--nrt-senna-primary);
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.nrt-intros-setup-card h4 {
    font-family: 'Noto Serif', serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 0 0 8px;
}

.nrt-intros-setup-card p {
    font-size: 14px;
    color: var(--nrt-gray-600);
    margin: 0 0 20px;
    line-height: 1.5;
}

.nrt-intros-setup-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: var(--nrt-senna-primary);
    color: white;
    font-size: 14px;
    font-weight: 500;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-intros-setup-btn:hover {
    background: var(--nrt-senna-secondary);
    transform: translateY(-1px);
}

/* Checklist */
.nrt-intros-checklist {
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 12px;
    padding: 20px;
}

.nrt-intros-checklist h5 {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin: 0 0 16px;
}

.nrt-checklist {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nrt-checklist-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--nrt-gray-100);
}

.nrt-checklist-item:last-child {
    border-bottom: none;
}

.nrt-checklist-icon {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid var(--nrt-gray-300);
    flex-shrink: 0;
    position: relative;
}

.nrt-checklist-item.is-complete .nrt-checklist-icon {
    background: #10b981;
    border-color: #10b981;
}

.nrt-checklist-item.is-complete .nrt-checklist-icon::after {
    content: '';
    position: absolute;
    top: 4px;
    left: 6px;
    width: 4px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.nrt-checklist-text {
    font-size: 14px;
    color: var(--nrt-gray-600);
}

.nrt-checklist-item.is-complete .nrt-checklist-text {
    color: var(--nrt-gray-800);
}

/* Active Campaign View */
.nrt-intros-active {
    margin-top: 24px;
}

.nrt-intros-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

.nrt-intros-stat {
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 10px;
    padding: 20px;
    text-align: center;
}

.nrt-intros-stat-value {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: var(--nrt-senna-primary);
    margin-bottom: 4px;
}

.nrt-intros-stat-label {
    font-size: 12px;
    color: var(--nrt-gray-500);
}

.nrt-intros-actions {
    display: flex;
    gap: 12px;
}

.nrt-intros-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid var(--nrt-gray-300);
    border-radius: 8px;
    background: white;
    color: var(--nrt-gray-700);
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-intros-action-btn:hover {
    border-color: var(--nrt-gray-400);
    background: var(--nrt-gray-50);
}

/* Sent To Section - Shows who received the profile */
.nrt-intros-sent-to {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--nrt-gray-200);
}

.nrt-intros-sent-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.nrt-intros-sent-header h3 {
    margin: 0;
    font-family: 'Noto Serif', serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-900);
}

.nrt-intros-sent-count {
    font-size: 13px;
    color: var(--nrt-gray-500);
    font-weight: 500;
}

.nrt-intros-sent-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 400px;
    overflow-y: auto;
}

.nrt-intros-sent-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: var(--nrt-gray-500);
    font-size: 13px;
    gap: 12px;
}

.nrt-intros-sent-empty {
    text-align: center;
    padding: 40px 20px;
    color: var(--nrt-gray-500);
    font-size: 14px;
}

.nrt-intros-sent-empty svg {
    margin-bottom: 12px;
    opacity: 0.5;
}

/* Submission Card */
.nrt-submission-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 10px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.nrt-submission-card:hover {
    border-color: var(--nrt-gray-300);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.nrt-submission-photo {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    flex-shrink: 0;
    overflow: hidden;
    background: var(--nrt-senna-accent);
    display: flex;
    align-items: center;
    justify-content: center;
}

.nrt-submission-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nrt-submission-photo .nrt-submission-initials {
    color: white;
    font-weight: 600;
    font-size: 16px;
    text-transform: uppercase;
}

.nrt-submission-info {
    flex: 1;
    min-width: 0;
}

.nrt-submission-name {
    font-weight: 600;
    color: var(--nrt-gray-900);
    font-size: 14px;
    margin: 0 0 2px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.nrt-submission-title {
    font-size: 13px;
    color: var(--nrt-gray-600);
    margin: 0 0 4px;
}

.nrt-submission-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 12px;
    color: var(--nrt-gray-500);
}

.nrt-submission-specialties {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.nrt-submission-specialty {
    display: inline-block;
    padding: 2px 8px;
    background: var(--nrt-cream-200);
    color: var(--nrt-gray-600);
    font-size: 11px;
    border-radius: 10px;
}

/* Submission Status Badge */
.nrt-submission-status {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.nrt-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.nrt-status-sent {
    background: var(--nrt-cream-200);
    color: var(--nrt-gray-600);
}

.nrt-status-viewed {
    background: var(--nrt-blue-100);
    color: var(--nrt-blue-600);
}

.nrt-status-responded {
    background: #d1fae5;
    color: var(--nrt-green-600);
}

.nrt-status-no_response {
    background: #fef3c7;
    color: #92400e;
}

.nrt-status-declined {
    background: #fee2e2;
    color: #991b1b;
}

.nrt-submission-linkedin {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    font-size: 11px;
    color: var(--nrt-blue-600);
    text-decoration: none;
    border: 1px solid var(--nrt-blue-300);
    border-radius: 6px;
    transition: all 0.2s;
}

.nrt-submission-linkedin:hover {
    background: var(--nrt-blue-50);
    border-color: var(--nrt-blue-400);
}

.nrt-submission-linkedin svg {
    width: 12px;
    height: 12px;
}

/* Load More Button */
.nrt-submissions-load-more {
    display: block;
    width: 100%;
    padding: 12px;
    margin-top: 12px;
    background: var(--nrt-cream-100);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    color: var(--nrt-gray-600);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-submissions-load-more:hover {
    background: var(--nrt-cream-200);
    color: var(--nrt-gray-700);
}

/* Intros Success View (Right Panel after campaign launch) */
.nrt-intros-success {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 60px 24px;
    max-width: 480px;
    margin: 0 auto;
}

.nrt-intros-success-icon {
    width: 80px;
    height: 80px;
    background: rgba(16, 185, 129, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    color: #10b981;
}

.nrt-intros-success h3 {
    font-family: 'Noto Serif', serif;
    font-size: 22px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 12px;
}

.nrt-intros-success p {
    font-size: 14px;
    color: var(--nrt-gray-600);
    line-height: 1.6;
    margin: 0 0 28px;
}

.nrt-intros-success-stats {
    display: flex;
    gap: 40px;
    padding: 24px 32px;
    background: var(--nrt-cream-50);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 12px;
}

.nrt-intros-success-stat {
    text-align: center;
}

.nrt-intros-success-value {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: var(--nrt-senna-primary);
    margin-bottom: 4px;
}

.nrt-intros-success-label {
    font-size: 12px;
    color: var(--nrt-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* =====================================================
   OPPORTUNITIES TAB STYLES
   ===================================================== */

.nrt-tab-opportunities.is-active {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Login Prompt */
.nrt-opportunities-login-prompt {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}

.nrt-opportunities-login-icon {
    color: var(--nrt-gray-300);
    margin-bottom: 20px;
}

.nrt-opportunities-login-prompt h3 {
    font-family: 'Noto Serif', serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 0 0 8px;
}

.nrt-opportunities-login-prompt p {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0 0 20px;
    max-width: 300px;
}

.nrt-opportunities-login-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 24px;
    background: var(--nrt-senna-primary);
    color: white;
    font-size: 14px;
    font-weight: 500;
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.2s;
}

.nrt-opportunities-login-btn:hover {
    background: var(--nrt-senna-secondary);
    color: white;
}

/* Opportunities Dashboard */
.nrt-opportunities-dashboard {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.nrt-opportunities-header {
    padding: 20px 16px 16px;
    border-bottom: 1px solid var(--nrt-gray-200);
}

.nrt-opportunities-title {
    font-family: 'Noto Serif', serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 4px;
}

.nrt-opportunities-subtitle {
    font-size: 13px;
    color: var(--nrt-gray-500);
    margin: 0 0 16px;
}

.nrt-opportunities-filter {
    display: flex;
    gap: 8px;
}

.nrt-opp-filter-btn {
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 500;
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-600);
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-opp-filter-btn:hover {
    background: var(--nrt-gray-200);
}

.nrt-opp-filter-btn.is-active {
    background: var(--nrt-senna-primary);
    color: white;
}

/* Opportunities List */
.nrt-opportunities-list {
    flex: 1;
    overflow-y: auto;
    padding: 8px 0;
}

.nrt-opportunities-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    gap: 12px;
    color: var(--nrt-gray-500);
}

/* Empty State */
.nrt-opportunities-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}

.nrt-opportunities-empty-icon {
    color: var(--nrt-gray-300);
    margin-bottom: 16px;
}

.nrt-opportunities-empty h4 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin: 0 0 8px;
}

.nrt-opportunities-empty p {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0 0 20px;
    max-width: 280px;
}

.nrt-opportunities-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: var(--nrt-senna-primary);
    color: white;
    font-size: 14px;
    font-weight: 500;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-opportunities-cta-btn:hover {
    background: var(--nrt-senna-secondary);
}

/* =====================================================
   OPPORTUNITY CARDS
   ===================================================== */
.nrt-opportunity-card {
    position: relative;
    padding: 16px;
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 10px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-opportunity-card:hover {
    border-color: var(--nrt-gray-300);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.nrt-opportunity-card.is-active {
    border-color: var(--nrt-senna-primary);
    background: var(--nrt-cream-50);
}

.nrt-opportunity-card.is-new {
    border-left: 3px solid var(--nrt-senna-primary);
}

.nrt-opp-card-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 2px 8px;
    background: var(--nrt-senna-primary);
    color: white;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 4px;
}

.nrt-opp-card-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 10px;
}

.nrt-opp-card-logo {
    width: 40px;
    height: 40px;
    background: var(--nrt-gray-100);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nrt-opp-card-logo span {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-600);
}

.nrt-opp-card-info {
    flex: 1;
    min-width: 0;
}

.nrt-opp-card-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 2px;
    line-height: 1.3;
}

.nrt-opp-card-company {
    font-size: 13px;
    color: var(--nrt-gray-600);
    margin: 0;
}

.nrt-opp-card-source {
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin: 0 0 4px;
}

.nrt-opp-card-time {
    font-size: 11px;
    color: var(--nrt-gray-400);
}

/* =====================================================
   OPPORTUNITY DETAIL VIEW
   ===================================================== */
.nrt-opportunity-view {
    height: 100%;
    overflow-y: auto;
}

.nrt-opportunity-detail {
    padding: 24px;
    max-width: 600px;
    margin: 0 auto;
}

.nrt-opportunity-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}

.nrt-opportunity-placeholder-icon {
    color: var(--nrt-gray-300);
    margin-bottom: 16px;
}

.nrt-opportunity-placeholder h4 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin: 0 0 8px;
}

.nrt-opportunity-placeholder p {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0;
}

/* Opportunity Header */
.nrt-opp-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--nrt-gray-200);
    margin-bottom: 24px;
    position: relative;
}

.nrt-opp-company-logo {
    width: 56px;
    height: 56px;
    background: var(--nrt-gray-100);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nrt-opp-company-initial {
    font-size: 22px;
    font-weight: 600;
    color: var(--nrt-gray-600);
}

.nrt-opp-header-info {
    flex: 1;
}

.nrt-opp-title {
    font-family: 'Noto Serif', serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 4px;
    line-height: 1.3;
}

.nrt-opp-company-location {
    font-size: 14px;
    color: var(--nrt-gray-600);
    margin: 0 0 4px;
}

.nrt-opp-separator {
    margin: 0 6px;
    color: var(--nrt-gray-400);
}

.nrt-opp-salary {
    font-size: 15px;
    font-weight: 600;
    color: var(--nrt-senna-primary);
    margin: 0;
}

.nrt-opp-badge {
    position: absolute;
    top: 0;
    right: 0;
    padding: 4px 10px;
    background: var(--nrt-senna-primary);
    color: white;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 4px;
}

/* Recruiter Section */
.nrt-opp-section-title {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--nrt-gray-500);
    margin: 0 0 12px;
}

.nrt-opp-recruiter-section {
    margin-bottom: 24px;
}

.nrt-opp-recruiter-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    background: var(--nrt-cream-50);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 10px;
}

.nrt-opp-recruiter-avatar {
    width: 48px;
    height: 48px;
    background: var(--nrt-gray-200);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nrt-opp-recruiter-initial {
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-gray-600);
}

.nrt-opp-recruiter-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.nrt-opp-recruiter-name {
    font-size: 15px;
    font-weight: 600;
    color: var(--nrt-gray-900);
}

.nrt-opp-recruiter-title {
    font-size: 13px;
    color: var(--nrt-gray-600);
}

.nrt-opp-recruiter-company {
    font-size: 13px;
    color: var(--nrt-gray-500);
}

.nrt-opp-recruiter-status {
    font-size: 12px;
    color: var(--nrt-senna-primary);
    font-weight: 500;
    white-space: nowrap;
}

/* Match Section */
.nrt-opp-match-section {
    margin-bottom: 24px;
}

.nrt-opp-match-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nrt-opp-match-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid var(--nrt-gray-100);
}

.nrt-opp-match-item:last-child {
    border-bottom: none;
}

.nrt-opp-match-item svg {
    color: #10b981;
    flex-shrink: 0;
}

.nrt-opp-match-item span {
    font-size: 14px;
    color: var(--nrt-gray-700);
}

/* Action Buttons */
.nrt-opp-actions {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
}

.nrt-opp-action-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 20px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-opp-action-btn--primary {
    background: var(--nrt-senna-primary);
    color: white;
}

.nrt-opp-action-btn--primary:hover {
    background: var(--nrt-senna-secondary);
}

.nrt-opp-action-btn--secondary {
    background: white;
    color: var(--nrt-gray-700);
    border: 1px solid var(--nrt-gray-300);
}

.nrt-opp-action-btn--secondary:hover {
    background: var(--nrt-gray-50);
    border-color: var(--nrt-gray-400);
}

.nrt-opp-secondary-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 12px;
    border-top: 1px solid var(--nrt-gray-200);
}

.nrt-opp-text-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    background: transparent;
    border: none;
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-gray-600);
    cursor: pointer;
    transition: all 0.15s;
    border-radius: 6px;
}

.nrt-opp-text-btn:hover {
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-800);
}

.nrt-opp-text-btn--muted {
    color: var(--nrt-gray-400);
}

.nrt-opp-text-btn--muted:hover {
    color: var(--nrt-gray-600);
}

/* Opportunity Mobile Responsive */
@media (max-width: 640px) {
    .nrt-opportunity-detail {
        padding: 16px;
    }

    .nrt-opp-header {
        flex-wrap: wrap;
    }

    .nrt-opp-badge {
        position: static;
        margin-top: 8px;
    }

    .nrt-opp-recruiter-card {
        flex-direction: column;
        text-align: center;
    }

    .nrt-opp-recruiter-info {
        align-items: center;
    }

    .nrt-opp-actions {
        flex-direction: column;
    }
}

/* =====================================================
   RECRUITER POSTS TAB STYLES
   ===================================================== */

.nrt-tab-recruiter-posts.is-active {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.nrt-recruiter-posts-dashboard {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.nrt-recruiter-posts-header {
    padding: 20px;
    border-bottom: 1px solid var(--nrt-gray-200);
}

.nrt-recruiter-posts-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--nrt-gray-900);
    margin: 0 0 4px;
}

.nrt-recruiter-posts-subtitle {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0 0 16px;
}

.nrt-recruiter-posts-filter {
    display: flex;
    gap: 8px;
}

.nrt-rp-filter-btn {
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 500;
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-600);
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-rp-filter-btn:hover {
    background: var(--nrt-gray-200);
}

.nrt-rp-filter-btn.is-active {
    background: var(--nrt-senna-primary);
    color: white;
}

/* Recruiter Posts List */
.nrt-recruiter-posts-list {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Recruiter Post Card */
.nrt-recruiter-post-card {
    position: relative;
    padding: 16px;
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-recruiter-post-card:hover {
    border-color: var(--nrt-gray-300);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.nrt-recruiter-post-card.is-active {
    border-color: var(--nrt-senna-primary);
    background: var(--nrt-cream-50);
}

.nrt-rp-card-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nrt-rp-badge-new {
    background: var(--nrt-senna-primary);
    color: white;
}

.nrt-rp-badge-featured {
    background: #f59e0b;
    color: white;
}

.nrt-rp-badge-urgent {
    background: #ef4444;
    color: white;
}

.nrt-rp-card-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 10px;
}

.nrt-rp-card-logo {
    width: 40px;
    height: 40px;
    background: var(--nrt-gray-100);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    color: var(--nrt-gray-600);
    font-size: 16px;
    flex-shrink: 0;
}

.nrt-rp-card-info {
    flex: 1;
    min-width: 0;
}

.nrt-rp-card-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nrt-rp-card-company {
    font-size: 13px;
    color: var(--nrt-gray-600);
    margin: 0;
}

.nrt-rp-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}

.nrt-rp-card-location,
.nrt-rp-card-salary {
    font-size: 12px;
    color: var(--nrt-gray-500);
}

.nrt-rp-card-location::before {
    content: '📍 ';
}

.nrt-rp-card-salary::before {
    content: '💰 ';
}

.nrt-rp-card-recruiter {
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin: 0 0 4px;
}

.nrt-rp-card-time {
    font-size: 11px;
    color: var(--nrt-gray-400);
}

/* Recruiter Posts Empty State */
.nrt-recruiter-posts-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}

.nrt-recruiter-posts-empty-icon {
    color: var(--nrt-gray-300);
    margin-bottom: 16px;
}

.nrt-recruiter-posts-empty h4 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin: 0 0 8px;
}

.nrt-recruiter-posts-empty p {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0;
    max-width: 280px;
}

/* Loading State */
.nrt-recruiter-posts-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    gap: 12px;
    color: var(--nrt-gray-500);
    font-size: 14px;
}

/* =====================================================
   REPLIES TAB STYLES
   ===================================================== */

.nrt-tab-replies.is-active {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Login Prompt */
.nrt-replies-login-prompt {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}

.nrt-replies-login-icon {
    color: var(--nrt-gray-300);
    margin-bottom: 20px;
}

.nrt-replies-login-prompt h3 {
    font-family: 'Noto Serif', serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 0 0 8px;
}

.nrt-replies-login-prompt p {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0 0 20px;
    max-width: 300px;
}

.nrt-replies-login-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 24px;
    background: var(--nrt-senna-primary);
    color: white;
    font-size: 14px;
    font-weight: 500;
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.2s;
}

.nrt-replies-login-btn:hover {
    background: var(--nrt-senna-secondary);
    color: white;
}

/* Replies Dashboard */
.nrt-replies-dashboard {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.nrt-replies-header {
    padding: 20px 16px 16px;
    border-bottom: 1px solid var(--nrt-gray-200);
}

.nrt-replies-title {
    font-family: 'Noto Serif', serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 4px;
}

.nrt-replies-subtitle {
    font-size: 13px;
    color: var(--nrt-gray-500);
    margin: 0 0 16px;
}

.nrt-replies-filter {
    display: flex;
    gap: 8px;
}

.nrt-reply-filter-btn {
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 500;
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-600);
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-reply-filter-btn:hover {
    background: var(--nrt-gray-200);
}

.nrt-reply-filter-btn.is-active {
    background: var(--nrt-senna-primary);
    color: white;
}

/* Replies List */
.nrt-replies-list {
    flex: 1;
    overflow-y: auto;
    padding: 8px 0;
}

.nrt-replies-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    gap: 12px;
    color: var(--nrt-gray-500);
}

/* Empty State */
.nrt-replies-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}

.nrt-replies-empty-icon {
    color: var(--nrt-gray-300);
    margin-bottom: 16px;
}

.nrt-replies-empty h4 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin: 0 0 8px;
}

.nrt-replies-empty p {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0 0 20px;
    max-width: 280px;
}

/* =====================================================
   CONVERSATION CARDS
   ===================================================== */
.nrt-conversation-card {
    display: flex;
    gap: 14px;
    padding: 14px 16px;
    cursor: pointer;
    transition: background 0.15s;
    border-bottom: 1px solid var(--nrt-gray-100);
    position: relative;
}

.nrt-conversation-card:hover {
    background: var(--nrt-cream-50);
}

.nrt-conversation-card.is-active {
    background: var(--nrt-cream-100);
}

.nrt-conversation-card.is-unread .nrt-conv-card-name {
    font-weight: 700;
}

.nrt-conv-card-avatar {
    position: relative;
    width: 48px;
    height: 48px;
    background: var(--nrt-gray-200);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nrt-conv-card-avatar span {
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-gray-600);
}

.nrt-conv-card-unread-dot {
    position: absolute;
    top: 0;
    right: 0;
    width: 12px;
    height: 12px;
    background: var(--nrt-senna-primary);
    border: 2px solid white;
    border-radius: 50%;
}

.nrt-conv-card-content {
    flex: 1;
    min-width: 0;
}

.nrt-conv-card-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 2px;
}

.nrt-conv-card-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-900);
}

.nrt-conv-card-time {
    font-size: 11px;
    color: var(--nrt-gray-400);
    flex-shrink: 0;
}

.nrt-conv-card-company {
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin: 0 0 4px;
}

.nrt-conv-card-preview {
    font-size: 13px;
    color: var(--nrt-gray-600);
    margin: 0;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nrt-conv-card-star {
    position: absolute;
    top: 14px;
    right: 16px;
    color: #f59e0b;
}

/* =====================================================
   CONVERSATION VIEW
   ===================================================== */
.nrt-conversation-view {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.nrt-conversation-detail {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.nrt-conversation-placeholder {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}

.nrt-conversation-placeholder-icon {
    color: var(--nrt-gray-300);
    margin-bottom: 16px;
}

.nrt-conversation-placeholder h4 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin: 0 0 8px;
}

.nrt-conversation-placeholder p {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0;
}

.nrt-conversation-content {
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Conversation Header */
.nrt-conv-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--nrt-gray-200);
    background: white;
}

.nrt-conv-header-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nrt-conv-avatar {
    width: 44px;
    height: 44px;
    background: var(--nrt-gray-200);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nrt-conv-avatar-initial {
    font-size: 17px;
    font-weight: 600;
    color: var(--nrt-gray-600);
}

.nrt-conv-contact {
    display: flex;
    flex-direction: column;
}

.nrt-conv-name {
    font-size: 15px;
    font-weight: 600;
    color: var(--nrt-gray-900);
}

.nrt-conv-role {
    font-size: 13px;
    color: var(--nrt-gray-500);
}

.nrt-conv-actions {
    display: flex;
    gap: 8px;
}

.nrt-conv-action-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    cursor: pointer;
    color: var(--nrt-gray-500);
    transition: all 0.15s;
}

.nrt-conv-action-btn:hover {
    background: var(--nrt-gray-50);
    border-color: var(--nrt-gray-300);
    color: var(--nrt-gray-700);
}

.nrt-conv-action-btn.is-starred {
    color: #f59e0b;
    border-color: #f59e0b;
}

/* Messages Area */
.nrt-conv-messages {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: var(--nrt-cream-50);
}

.nrt-conv-message {
    display: flex;
    max-width: 80%;
}

.nrt-conv-message--received {
    align-self: flex-start;
}

.nrt-conv-message--sent {
    align-self: flex-end;
}

.nrt-conv-message-bubble {
    padding: 12px 16px;
    border-radius: 16px;
    position: relative;
}

.nrt-conv-message--received .nrt-conv-message-bubble {
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-bottom-left-radius: 4px;
}

.nrt-conv-message--sent .nrt-conv-message-bubble {
    background: var(--nrt-senna-primary);
    color: white;
    border-bottom-right-radius: 4px;
}

.nrt-conv-message-bubble p {
    margin: 0 0 6px;
    font-size: 14px;
    line-height: 1.5;
}

.nrt-conv-message-time {
    font-size: 11px;
    opacity: 0.7;
}

.nrt-conv-message--received .nrt-conv-message-time {
    color: var(--nrt-gray-500);
}

/* Message States */
.nrt-conv-loading,
.nrt-conv-empty,
.nrt-conv-error {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 200px;
    color: var(--nrt-gray-500);
    font-size: 14px;
    text-align: center;
    padding: 20px;
}

.nrt-conv-error {
    color: #dc3545;
}

.nrt-conv-message--sending {
    opacity: 0.7;
}

.nrt-conv-message--sending .nrt-conv-message-time {
    font-style: italic;
}

/* Message Input Area */
.nrt-conv-input-area {
    padding: 16px 20px;
    border-top: 1px solid var(--nrt-gray-200);
    background: white;
}

.nrt-conv-input-wrapper {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    padding: 10px 14px;
    background: var(--nrt-cream-50);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 12px;
}

.nrt-conv-input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 14px;
    line-height: 1.5;
    resize: none;
    max-height: 120px;
    font-family: inherit;
}

.nrt-conv-input:focus {
    outline: none;
}

.nrt-conv-input::placeholder {
    color: var(--nrt-gray-400);
}

.nrt-conv-send-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--nrt-senna-primary);
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s;
    flex-shrink: 0;
}

.nrt-conv-send-btn:hover:not(:disabled) {
    background: var(--nrt-senna-secondary);
}

.nrt-conv-send-btn:disabled {
    background: var(--nrt-gray-200);
    color: var(--nrt-gray-400);
    cursor: not-allowed;
}

/* Quick Actions */
.nrt-conv-quick-actions {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}

.nrt-conv-quick-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-gray-600);
    cursor: pointer;
    transition: all 0.15s;
}

.nrt-conv-quick-btn:hover {
    background: var(--nrt-gray-50);
    border-color: var(--nrt-gray-300);
    color: var(--nrt-gray-800);
}

.nrt-conv-quick-btn svg {
    color: var(--nrt-gray-400);
}

/* Conversation Mobile Responsive */
@media (max-width: 640px) {
    .nrt-conv-header {
        padding: 12px 16px;
    }

    .nrt-conv-messages {
        padding: 16px;
    }

    .nrt-conv-message {
        max-width: 90%;
    }

    .nrt-conv-input-area {
        padding: 12px 16px;
    }

    .nrt-conv-quick-actions {
        flex-wrap: wrap;
    }
}

/* =====================================================
   RESPONSIVE ADJUSTMENTS FOR NEW TABS
   ===================================================== */

@media (max-width: 768px) {
    .nrt-intros-stats {
        grid-template-columns: 1fr;
    }

    .nrt-intros-actions {
        flex-direction: column;
    }

    .nrt-intros-header {
        flex-direction: column;
        gap: 12px;
    }
}

/* =====================================================
   MOBILE "MORE" BOTTOM SHEET
   ===================================================== */

.nrt-mobile-more-sheet {
    position: fixed;
    inset: 0;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0.2s;
}

.nrt-mobile-more-sheet.is-visible {
    opacity: 1;
    visibility: visible;
}

.nrt-more-sheet-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
}

.nrt-more-sheet-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: white;
    border-radius: 16px 16px 0 0;
    padding-bottom: env(safe-area-inset-bottom, 20px);
    transform: translateY(100%);
    transition: transform 0.3s ease-out;
}

.nrt-mobile-more-sheet.is-visible .nrt-more-sheet-content {
    transform: translateY(0);
}

.nrt-more-sheet-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid var(--nrt-gray-200);
}

.nrt-more-sheet-header span {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-800);
}

.nrt-more-sheet-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--nrt-gray-100);
    border: none;
    border-radius: 50%;
    color: var(--nrt-gray-600);
    cursor: pointer;
}

.nrt-more-sheet-items {
    padding: 8px 0;
}

.nrt-more-sheet-item {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    padding: 16px 20px;
    background: none;
    border: none;
    font-size: 15px;
    color: var(--nrt-gray-700);
    cursor: pointer;
    text-align: left;
    transition: background 0.15s;
}

.nrt-more-sheet-item:hover,
.nrt-more-sheet-item:active {
    background: var(--nrt-gray-50);
}

.nrt-more-sheet-item svg {
    width: 22px;
    height: 22px;
    color: var(--nrt-gray-500);
}

/* =====================================================
   RIGHT PANEL VIEWS FOR NEW TABS
   ===================================================== */

/* Opportunity Detail View */
.nrt-opportunity-view {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.nrt-opportunity-detail {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.nrt-opportunity-placeholder {
    text-align: center;
    max-width: 300px;
}

.nrt-opportunity-placeholder-icon {
    color: var(--nrt-gray-300);
    margin-bottom: 20px;
}

.nrt-opportunity-placeholder h4 {
    font-family: 'Noto Serif', serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin: 0 0 8px;
}

.nrt-opportunity-placeholder p {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0;
}

/* Conversation View */
.nrt-conversation-view {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.nrt-conversation-detail {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.nrt-conversation-placeholder {
    text-align: center;
    max-width: 300px;
}

.nrt-conversation-placeholder-icon {
    color: var(--nrt-gray-300);
    margin-bottom: 20px;
}

.nrt-conversation-placeholder h4 {
    font-family: 'Noto Serif', serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin: 0 0 8px;
}

.nrt-conversation-placeholder p {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0;
}

/* Recruiter Intros View (Right Panel) */
.nrt-intros-view {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--nrt-cream-50);
}

.nrt-intros-detail {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.nrt-intros-welcome {
    text-align: center;
    max-width: 400px;
}

.nrt-intros-welcome-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: white;
    border-radius: 50%;
    color: var(--nrt-senna-primary);
    margin-bottom: 24px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

.nrt-intros-welcome h3 {
    font-family: 'Noto Serif', serif;
    font-size: 22px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 0 0 12px;
}

.nrt-intros-welcome p {
    font-size: 15px;
    color: var(--nrt-gray-600);
    line-height: 1.6;
    margin: 0 0 28px;
}

.nrt-intros-welcome-benefits {
    text-align: left;
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 12px;
    padding: 20px;
}

.nrt-intros-benefit {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--nrt-gray-100);
}

.nrt-intros-benefit:last-child {
    border-bottom: none;
}

.nrt-intros-benefit svg {
    flex-shrink: 0;
    color: #10b981;
}

.nrt-intros-benefit span {
    font-size: 14px;
    color: var(--nrt-gray-700);
}

/* =====================================================
   PROFILE DASHBOARD V2 - TWO COLUMN LAYOUT
   ===================================================== */

.nrt-profile-dashboard--v2 {
    padding: 24px;
    height: 100%;
    overflow-y: auto;
}

.nrt-profile-columns {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 24px;
    margin-bottom: 24px;
}

/* Left Column - Profile Card */
.nrt-profile-left {
    min-width: 0;
}

.nrt-profile-card {
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 12px;
    overflow: hidden;
}

.nrt-profile-card-header {
    text-align: center;
    padding: 24px 20px;
    border-bottom: 1px solid var(--nrt-gray-100);
    background: linear-gradient(180deg, var(--nrt-cream-50) 0%, white 100%);
}

.nrt-profile-avatar-large {
    position: relative;
    width: 100px;
    height: 100px;
    margin: 0 auto 16px;
}

.nrt-profile-avatar-large img,
.nrt-profile-avatar-large .nrt-profile-initials {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    font-weight: 600;
    background: var(--nrt-senna-primary);
    color: white;
}

.nrt-profile-avatar-edit {
    position: absolute;
    bottom: 4px;
    right: 4px;
    width: 28px;
    height: 28px;
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--nrt-gray-600);
    transition: all 0.2s;
}

.nrt-profile-avatar-edit:hover {
    background: var(--nrt-gray-50);
    color: var(--nrt-senna-primary);
}

.nrt-profile-card-name {
    font-family: 'Noto Serif', serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 4px;
}

.nrt-profile-card-headline {
    font-size: 14px;
    color: var(--nrt-gray-500);
    margin: 0;
}

.nrt-profile-card-details {
    padding: 16px 20px;
    border-bottom: 1px solid var(--nrt-gray-100);
}

.nrt-profile-detail-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    font-size: 13px;
    color: var(--nrt-gray-600);
}

.nrt-profile-detail-item svg {
    color: var(--nrt-gray-400);
    flex-shrink: 0;
}

.nrt-profile-card-skills {
    padding: 16px 20px;
    border-bottom: 1px solid var(--nrt-gray-100);
}

.nrt-profile-card-skills h4,
.nrt-profile-card-looking h4 {
    font-size: 12px;
    font-weight: 600;
    color: var(--nrt-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 10px;
}

.nrt-profile-skill-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.nrt-skill-chip {
    display: inline-block;
    padding: 4px 10px;
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-700);
    font-size: 12px;
    border-radius: 12px;
}

.nrt-skill-chip--more {
    background: var(--nrt-senna-light);
    color: var(--nrt-senna-primary);
}

.nrt-profile-card-looking {
    padding: 16px 20px;
    border-bottom: 1px solid var(--nrt-gray-100);
}

.nrt-profile-card-looking p {
    font-size: 14px;
    color: var(--nrt-gray-700);
    margin: 0;
}

.nrt-profile-card-actions {
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.nrt-profile-card-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid var(--nrt-gray-300);
    border-radius: 8px;
    background: white;
    color: var(--nrt-gray-700);
    cursor: pointer;
    transition: all 0.2s;
}

.nrt-profile-card-btn:hover {
    background: var(--nrt-gray-50);
    border-color: var(--nrt-gray-400);
}

.nrt-profile-card-btn--primary {
    background: var(--nrt-senna-primary);
    border-color: var(--nrt-senna-primary);
    color: white;
}

.nrt-profile-card-btn--primary:hover {
    background: var(--nrt-senna-secondary);
    border-color: var(--nrt-senna-secondary);
}

/* Right Column */
.nrt-profile-right {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}

/* Visibility Score Card */
.nrt-visibility-score-card {
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 12px;
    padding: 20px;
}

.nrt-visibility-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}

.nrt-visibility-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 0;
}

.nrt-visibility-percent {
    font-size: 24px;
    font-weight: 700;
    color: var(--nrt-senna-primary);
}

.nrt-visibility-subtitle {
    font-size: 13px;
    color: var(--nrt-gray-500);
    margin: 0 0 16px;
}

.nrt-visibility-bar {
    height: 8px;
    background: var(--nrt-gray-100);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 16px;
}

.nrt-visibility-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--nrt-senna-primary) 0%, var(--nrt-senna-accent) 100%);
    border-radius: 4px;
    transition: width 0.5s ease;
}

.nrt-visibility-tips {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.nrt-visibility-tip {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: var(--nrt-cream-50);
    border: 1px solid var(--nrt-gray-100);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
    text-align: left;
    width: 100%;
}

.nrt-visibility-tip:hover {
    background: var(--nrt-cream-100);
    border-color: var(--nrt-gray-200);
}

.nrt-visibility-tip-plus {
    font-size: 12px;
    font-weight: 600;
    color: #10b981;
    background: rgba(16, 185, 129, 0.1);
    padding: 2px 6px;
    border-radius: 4px;
}

.nrt-visibility-tip span:not(.nrt-visibility-tip-plus) {
    flex: 1;
    font-size: 13px;
    color: var(--nrt-gray-700);
}

.nrt-visibility-tip svg {
    color: var(--nrt-gray-400);
}

.nrt-visibility-complete {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    background: rgba(16, 185, 129, 0.1);
    border-radius: 8px;
    color: #059669;
    font-size: 13px;
}

/* Stats Dashboard Card */
.nrt-profile-stats-card {
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 12px;
    padding: 20px;
}

.nrt-profile-stats-card h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 0 0 16px;
}

.nrt-profile-stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.nrt-profile-stat {
    background: var(--nrt-cream-50);
    border-radius: 8px;
    padding: 16px;
    text-align: center;
}

.nrt-profile-stat-value {
    display: block;
    font-size: 24px;
    font-weight: 700;
    color: var(--nrt-senna-primary);
    margin-bottom: 2px;
}

.nrt-profile-stat-label {
    font-size: 12px;
    color: var(--nrt-gray-500);
}

/* Quick Actions Card */
.nrt-profile-actions-card {
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 12px;
    padding: 20px;
}

.nrt-profile-actions-card h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 0 0 16px;
}

.nrt-profile-action-btns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.nrt-profile-action-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: var(--nrt-cream-50);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--nrt-gray-700);
    cursor: pointer;
    transition: all 0.2s;
    text-align: left;
}

.nrt-profile-action-btn:hover {
    background: white;
    border-color: var(--nrt-senna-primary);
    color: var(--nrt-senna-primary);
}

.nrt-profile-action-btn svg {
    color: var(--nrt-gray-500);
    flex-shrink: 0;
}

.nrt-profile-action-btn:hover svg {
    color: var(--nrt-senna-primary);
}

/* Recent Activity Section */
.nrt-profile-activity-section {
    background: white;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 12px;
    padding: 20px;
}

.nrt-profile-activity-header {
    margin-bottom: 16px;
}

.nrt-profile-activity-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-800);
    margin: 0;
}

.nrt-profile-activity-empty {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background: var(--nrt-cream-50);
    border-radius: 8px;
    color: var(--nrt-gray-500);
}

.nrt-profile-activity-empty svg {
    flex-shrink: 0;
    color: var(--nrt-gray-300);
}

.nrt-profile-activity-empty p {
    font-size: 14px;
    margin: 0;
}

/* Responsive Profile */
@media (max-width: 900px) {
    .nrt-profile-columns {
        grid-template-columns: 1fr;
    }

    .nrt-profile-action-btns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .nrt-profile-dashboard--v2 {
        padding: 16px;
    }

    .nrt-profile-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ============================================
   CAMPAIGN SETUP MODAL
   ============================================ */
.nrt-campaign-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
}

.nrt-campaign-modal.is-visible {
    display: flex;
}

.nrt-campaign-modal-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
}

.nrt-campaign-modal-content {
    position: relative;
    background: var(--nrt-white);
    border-radius: 16px;
    width: 100%;
    max-width: 560px;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    animation: nrt-modal-enter 0.3s ease-out;
}

@keyframes nrt-modal-enter {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(10px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.nrt-campaign-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid var(--nrt-gray-200);
}

.nrt-campaign-modal-header h2 {
    font-size: 18px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0;
}

.nrt-campaign-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    color: var(--nrt-gray-500);
    transition: all 0.15s;
}

.nrt-campaign-modal-close:hover {
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-700);
}

/* Progress Bar */
.nrt-campaign-modal-progress {
    padding: 16px 24px;
    background: var(--nrt-cream-50);
    border-bottom: 1px solid var(--nrt-gray-200);
}

.nrt-campaign-progress-bar {
    height: 4px;
    background: var(--nrt-gray-200);
    border-radius: 2px;
    overflow: hidden;
    margin-bottom: 8px;
}

.nrt-campaign-progress-fill {
    height: 100%;
    background: var(--nrt-senna-primary);
    border-radius: 2px;
    transition: width 0.3s ease;
}

.nrt-campaign-step-indicator {
    font-size: 12px;
    color: var(--nrt-gray-500);
    font-weight: 500;
}

/* Modal Body */
.nrt-campaign-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
}

.nrt-campaign-step h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 8px;
}

.nrt-campaign-step-desc {
    font-size: 14px;
    color: var(--nrt-gray-600);
    margin: 0 0 24px;
    line-height: 1.5;
}

/* Form Fields */
.nrt-campaign-field {
    margin-bottom: 20px;
}

.nrt-campaign-field:last-child {
    margin-bottom: 0;
}

.nrt-campaign-field label:not(.nrt-campaign-checkbox):not(.nrt-campaign-radio) {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin-bottom: 8px;
}

.nrt-campaign-input {
    width: 100%;
    padding: 12px 14px;
    font-size: 14px;
    border: 1px solid var(--nrt-gray-300);
    border-radius: 8px;
    background: var(--nrt-white);
    transition: all 0.15s;
    box-sizing: border-box;
}

.nrt-campaign-input:focus {
    outline: none;
    border-color: var(--nrt-senna-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.nrt-campaign-hint {
    display: block;
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin-top: 6px;
}

/* Checkbox Grid */
.nrt-campaign-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.nrt-campaign-skills-grid {
    grid-template-columns: repeat(3, 1fr);
}

.nrt-campaign-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    font-size: 13px;
    color: var(--nrt-gray-700);
    cursor: pointer;
    transition: all 0.15s;
    user-select: none;
}

.nrt-campaign-checkbox:hover {
    border-color: var(--nrt-gray-300);
    background: var(--nrt-cream-50);
}

.nrt-campaign-checkbox:has(input:checked) {
    border-color: var(--nrt-senna-primary);
    background: rgba(37, 99, 235, 0.05);
    color: var(--nrt-senna-primary);
}

.nrt-campaign-checkbox input {
    accent-color: var(--nrt-senna-primary);
}

/* Radio Group */
.nrt-campaign-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.nrt-campaign-radio {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border: 1px solid var(--nrt-gray-200);
    border-radius: 8px;
    font-size: 13px;
    color: var(--nrt-gray-700);
    cursor: pointer;
    transition: all 0.15s;
    user-select: none;
}

.nrt-campaign-radio:hover {
    border-color: var(--nrt-gray-300);
    background: var(--nrt-cream-50);
}

.nrt-campaign-radio:has(input:checked) {
    border-color: var(--nrt-senna-primary);
    background: rgba(37, 99, 235, 0.05);
    color: var(--nrt-senna-primary);
}

.nrt-campaign-radio input {
    accent-color: var(--nrt-senna-primary);
}

/* Salary Range */
.nrt-campaign-salary-range {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nrt-campaign-salary-range span {
    color: var(--nrt-gray-500);
    font-size: 13px;
}

.nrt-campaign-select {
    flex: 1;
    padding: 12px 14px;
    font-size: 14px;
    border: 1px solid var(--nrt-gray-300);
    border-radius: 8px;
    background: var(--nrt-white);
    cursor: pointer;
    transition: all 0.15s;
}

.nrt-campaign-select:focus {
    outline: none;
    border-color: var(--nrt-senna-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

/* File Upload Zone */
.nrt-campaign-upload-zone {
    border: 2px dashed var(--nrt-gray-300);
    border-radius: 12px;
    padding: 40px 24px;
    text-align: center;
    transition: all 0.2s;
    cursor: pointer;
}

.nrt-campaign-upload-zone:hover,
.nrt-campaign-upload-zone.dragging {
    border-color: var(--nrt-senna-primary);
    background: rgba(37, 99, 235, 0.02);
}

.nrt-campaign-upload-zone svg {
    color: var(--nrt-gray-400);
    margin-bottom: 16px;
}

.nrt-campaign-upload-zone p {
    font-size: 14px;
    color: var(--nrt-gray-600);
    margin: 0 0 8px;
}

.nrt-campaign-upload-browse {
    color: var(--nrt-senna-primary);
    font-weight: 500;
    cursor: pointer;
}

.nrt-campaign-upload-browse:hover {
    text-decoration: underline;
}

.nrt-campaign-upload-hint {
    font-size: 12px;
    color: var(--nrt-gray-500);
}

/* Uploaded File */
.nrt-campaign-uploaded-file {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: var(--nrt-cream-50);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 10px;
}

.nrt-campaign-uploaded-file svg {
    color: var(--nrt-senna-primary);
    flex-shrink: 0;
}

.nrt-campaign-file-name {
    flex: 1;
    font-size: 14px;
    color: var(--nrt-gray-700);
    font-weight: 500;
}

.nrt-campaign-file-remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    color: var(--nrt-gray-400);
    transition: all 0.15s;
}

.nrt-campaign-file-remove:hover {
    background: var(--nrt-gray-100);
    color: var(--nrt-gray-600);
}

/* Textarea */
.nrt-campaign-textarea {
    width: 100%;
    padding: 14px;
    font-size: 14px;
    line-height: 1.6;
    border: 1px solid var(--nrt-gray-300);
    border-radius: 8px;
    resize: vertical;
    min-height: 120px;
    box-sizing: border-box;
    font-family: inherit;
}

.nrt-campaign-textarea:focus {
    outline: none;
    border-color: var(--nrt-senna-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.nrt-campaign-char-count {
    text-align: right;
    font-size: 12px;
    color: var(--nrt-gray-500);
    margin-top: 6px;
}

/* Tips Box */
.nrt-campaign-tips {
    background: var(--nrt-cream-50);
    border: 1px solid var(--nrt-gray-200);
    border-radius: 10px;
    padding: 16px;
    margin-top: 20px;
}

.nrt-campaign-tips h4 {
    font-size: 13px;
    font-weight: 600;
    color: var(--nrt-gray-700);
    margin: 0 0 10px;
}

.nrt-campaign-tips ul {
    margin: 0;
    padding: 0 0 0 18px;
}

.nrt-campaign-tips li {
    font-size: 13px;
    color: var(--nrt-gray-600);
    margin-bottom: 4px;
    line-height: 1.5;
}

.nrt-campaign-tips li:last-child {
    margin-bottom: 0;
}

/* Modal Footer */
.nrt-campaign-modal-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 24px;
    border-top: 1px solid var(--nrt-gray-200);
    background: var(--nrt-cream-50);
}

.nrt-campaign-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s;
    border: none;
}

.nrt-campaign-btn--primary {
    background: var(--nrt-senna-primary);
    color: white;
}

.nrt-campaign-btn--primary:hover {
    background: var(--nrt-senna-primary-dark, #1d4ed8);
}

.nrt-campaign-btn--primary:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.nrt-campaign-btn--secondary {
    background: var(--nrt-white);
    color: var(--nrt-gray-700);
    border: 1px solid var(--nrt-gray-300);
}

.nrt-campaign-btn--secondary:hover {
    background: var(--nrt-gray-50);
    border-color: var(--nrt-gray-400);
}

/* Success State */
.nrt-campaign-success {
    text-align: center;
    padding: 40px 24px;
}

.nrt-campaign-success-icon {
    width: 80px;
    height: 80px;
    background: rgba(16, 185, 129, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
}

.nrt-campaign-success-icon svg {
    color: #10b981;
}

.nrt-campaign-success h3 {
    font-size: 20px;
    font-weight: 600;
    color: var(--nrt-gray-900);
    margin: 0 0 12px;
}

.nrt-campaign-success p {
    font-size: 14px;
    color: var(--nrt-gray-600);
    margin: 0 0 24px;
    line-height: 1.6;
}

.nrt-campaign-success-stats {
    display: flex;
    justify-content: center;
    gap: 32px;
    padding: 20px;
    background: var(--nrt-cream-50);
    border-radius: 12px;
    margin-bottom: 24px;
}

.nrt-campaign-success-stat {
    text-align: center;
}

.nrt-campaign-success-stat-value {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: var(--nrt-senna-primary);
}

.nrt-campaign-success-stat-label {
    font-size: 12px;
    color: var(--nrt-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Mobile Responsive */
@media (max-width: 640px) {
    .nrt-campaign-modal-content {
        max-width: 100%;
        max-height: 100%;
        border-radius: 0;
    }

    .nrt-campaign-modal-header {
        padding: 16px 20px;
    }

    .nrt-campaign-modal-body {
        padding: 20px;
    }

    .nrt-campaign-modal-footer {
        padding: 14px 20px;
    }

    .nrt-campaign-checkbox-grid {
        grid-template-columns: 1fr;
    }

    .nrt-campaign-skills-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nrt-campaign-salary-range {
        flex-direction: column;
        align-items: stretch;
    }

    .nrt-campaign-salary-range span {
        text-align: center;
    }

    .nrt-campaign-radio-group {
        flex-direction: column;
    }

    .nrt-campaign-btn {
        padding: 12px 16px;
        font-size: 13px;
    }

    .nrt-campaign-success-stats {
        gap: 20px;
    }

    .nrt-campaign-success-stat-value {
        font-size: 24px;
    }
}

/* ============================================
   WELCOME PANEL (Right Panel for Logged-Out)
   ============================================ */

.nrt-welcome-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 40px;
    background: var(--nrt-cream-100);
}

.nrt-welcome-panel-inner {
    max-width: 480px;
    text-align: center;
}

.nrt-welcome-panel-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: var(--nrt-white);
    border-radius: 20px;
    margin-bottom: 24px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    color: var(--nrt-senna-primary);
}

.nrt-welcome-panel-title {
    font-size: 28px;
    font-weight: 700;
    color: var(--nrt-gray-900);
    margin: 0 0 12px;
    line-height: 1.3;
}

.nrt-welcome-panel-desc {
    font-size: 15px;
    color: var(--nrt-gray-600);
    line-height: 1.6;
    margin: 0 0 32px;
}

/* Feature Grid */
.nrt-welcome-panel-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-bottom: 32px;
}

.nrt-welcome-feature {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: var(--nrt-white);
    border-radius: 12px;
    text-align: left;
    border: 1px solid var(--nrt-gray-200);
}

.nrt-welcome-feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--nrt-cream-50);
    border-radius: 10px;
    color: var(--nrt-senna-primary);
    flex-shrink: 0;
}

.nrt-welcome-feature-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.nrt-welcome-feature-text strong {
    font-size: 14px;
    font-weight: 600;
    color: var(--nrt-gray-900);
}

.nrt-welcome-feature-text span {
    font-size: 12px;
    color: var(--nrt-gray-500);
}

/* Stats Row */
.nrt-welcome-panel-stats {
    display: flex;
    justify-content: center;
    gap: 40px;
    padding: 24px;
    background: var(--nrt-white);
    border-radius: 12px;
    margin-bottom: 32px;
    border: 1px solid var(--nrt-gray-200);
}

.nrt-welcome-stat {
    text-align: center;
}

.nrt-welcome-stat-number {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: var(--nrt-senna-primary);
    line-height: 1.2;
}

.nrt-welcome-stat-label {
    font-size: 12px;
    color: var(--nrt-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* CTA Buttons */
.nrt-welcome-panel-cta {
    display: flex;
    gap: 12px;
    justify-content: center;
}

.nrt-welcome-panel-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.nrt-welcome-panel-btn--primary {
    background: var(--nrt-senna-primary);
    color: var(--nrt-white);
}

.nrt-welcome-panel-btn--primary:hover {
    background: var(--nrt-senna-secondary);
    transform: translateY(-1px);
}

.nrt-welcome-panel-btn--secondary {
    background: var(--nrt-white);
    color: var(--nrt-gray-700);
    border: 1px solid var(--nrt-gray-300);
}

.nrt-welcome-panel-btn--secondary:hover {
    background: var(--nrt-gray-50);
    border-color: var(--nrt-gray-400);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .nrt-welcome-panel {
        padding: 24px;
    }

    .nrt-welcome-panel-title {
        font-size: 24px;
    }

    .nrt-welcome-panel-features {
        grid-template-columns: 1fr;
    }

    .nrt-welcome-panel-stats {
        gap: 24px;
        padding: 20px;
    }

    .nrt-welcome-stat-number {
        font-size: 24px;
    }

    .nrt-welcome-panel-cta {
        flex-direction: column;
    }

    .nrt-welcome-panel-btn {
        width: 100%;
    }
}
