﻿        /* ===== PREMIUM NEWSLETTER DASHBOARD ===== */
        :root {
            --nl-brand: #0F6D7A;
            --nl-brand-dark: #0a4d57;
            --nl-brand-light: rgba(15, 109, 122, 0.06);
            --nl-brand-glow: rgba(15, 109, 122, 0.15);
            --nl-accent: #F58220;
            --nl-accent-glow: rgba(245, 130, 32, 0.15);
            --nl-text-main: #475569;
            --nl-text-muted: #94a3b8;
            --nl-text-dark: #1e293b;
            --nl-border-soft: #e2e8f0;
            --nl-bg-body: #f8fafc;
            --nl-bg-card: #ffffff;
            --nl-bg-input: #f1f5f9;
            --nl-radius-sm: 10px;
            --nl-radius-md: 10px;
            --nl-radius-lg: 10px;
            --nl-shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.03);
            --nl-shadow-card: 0 10px 30px rgba(0, 0, 0, 0.04);
            --nl-shadow-hover: 0 15px 35px rgba(15, 109, 122, 0.08);
        }

        /* ===== HERO HEADER (compact v3.1) ===== */
        .nl-page-header {
            background: linear-gradient(135deg, #1a6e78 0%, #2c8a94 40%, #3ba3ae 80%, #2c8a94 100%);
            padding: 14px 0 45px;
            border-bottom: none;
            position: relative;
            overflow: hidden;
        }
        .nl-page-header::before {
            content:''; position:absolute; top:-70%; right:-15%; width:380px; height:380px;
            background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 65%); border-radius:50%;
            animation: nlHeroFloat 8s ease-in-out infinite;
        }
        .nl-page-header::after {
            content:''; position:absolute; bottom:-60%; left:-10%; width:280px; height:280px;
            background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 60%); border-radius:50%;
            animation: nlHeroFloat 10s ease-in-out infinite reverse;
        }
        @keyframes nlHeroFloat { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(15px,-10px) scale(1.04); } }
        .nl-header-inner { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:14px; }
        .nl-header-icon {
            width:44px; height:44px; border-radius:10px;
            background:rgba(255,255,255,.13); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
            display:flex; align-items:center; justify-content:center;
            font-size:20px; color:#fff; border:1px solid rgba(255,255,255,.18); flex-shrink:0;
            box-shadow:0 4px 20px rgba(0,0,0,.10);
        }
        .nl-header-text h1, .nl-header-text h2, .nl-header-text h3,
        .nl-header-text h4, .nl-header-text h5, .nl-header-text h6 {
            margin:0 !important; padding:0 !important;
            font-size:22px !important; font-weight:800 !important;
            color:#ffffff !important; letter-spacing:-.3px !important;
            line-height:1.2 !important; border:none !important;
            background:none !important; text-shadow:0 2px 8px rgba(0,0,0,.15);
        }
        .nl-header-text p { margin:2px 0 0; font-size:14px; color:rgba(255,255,255,.8); font-weight:500; line-height:1.3; }
        .nl-hero-pills {
            position:relative; z-index:1; display:flex; align-items:center; gap:12px;
            margin-top:16px; flex-wrap:wrap;
        }
        .nl-hero-pill {
            display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:20px;
            background:rgba(255,255,255,.12); backdrop-filter:blur(6px);
            font-size:14px; color:rgba(255,255,255,.85); border:1px solid rgba(255,255,255,.1); font-weight:600;
        }
        .nl-hero-pill a { color:rgba(255,255,255,.9); text-decoration:none; font-weight:600; }
        .nl-hero-pill a:hover { color:#fff; text-decoration:none; }
        .nl-hero-pill .sep { font-size:13px; opacity:.6; }
        .nl-hero-pill span:last-child { color:#fff; font-weight:600; }
        .nl-hero-breadcrumb {
            font-size:13px; padding:5px 12px;
            background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.08);
            color:rgba(255,255,255,.7); margin-inline-start:auto;
        }
        .nl-hero-breadcrumb a { font-size:13px; color:rgba(255,255,255,.75); }
        .nl-hero-breadcrumb a:hover { color:#fff; text-decoration:none; }

        /* ===== HORIZONTAL TIMELINE ===== */
        .nl-timeline-wrapper {
            background: var(--nl-bg-card); border-radius: var(--nl-radius-md); padding: 10px;
            box-shadow: var(--nl-shadow-card); border: 1px solid var(--nl-border-soft);
            margin-top: -30px; margin-bottom: 16px; position: relative; z-index: 20;
            display: flex; align-items: center; gap: 10px;
        }

        /* ===== SUMMARY STRIP (v3.1 â€” inside section) ===== */
        .nl-summary-strip {
            display: flex; align-items: center; justify-content: center; gap: 8px;
            background: var(--nl-bg-card); border-radius: 0 0 var(--nl-radius-sm) var(--nl-radius-sm); padding: 10px 16px;
            box-shadow: var(--nl-shadow-soft); border: 1px solid var(--nl-border-soft); border-top: none;
            margin-top: -2px; margin-bottom: 16px; flex-wrap: wrap;
        }
        .nl-stat-item {
            display: flex; align-items: center; gap: 8px; padding: 6px 14px;
            border-radius: 8px; background: var(--nl-bg-input); transition: all 0.2s;
        }
        .nl-stat-item:hover { background: var(--nl-brand-light); }
        .nl-stat-icon {
            width: 32px; height: 32px; border-radius: 8px;
            display: flex; align-items: center; justify-content: center;
            font-size: 14px; flex-shrink: 0;
        }
        .nl-stat-icon.tenders { background: var(--nl-brand-light); color: var(--nl-brand); }
        .nl-stat-icon.appendix { background: var(--nl-accent-glow); color: var(--nl-accent); }
        .nl-stat-icon.buyers { background: rgba(99,102,241,.08); color: #6366f1; }
        .nl-stat-icon.categories { background: rgba(16,185,129,.08); color: #10b981; }
        .nl-stat-value { font-size: 18px; font-weight: 900; color: var(--nl-text-dark); line-height: 1; }
        .nl-stat-label { font-size: 13px; font-weight: 700; color: var(--nl-text-muted); line-height: 1.2; }
        .nl-timeline-nav-btn {
            width: 44px; height: 92px; border-radius: 10px; background: var(--nl-bg-input); border: none;
            color: var(--nl-text-muted); font-size: 18px; display: flex; align-items: center; justify-content: center;
            cursor: pointer; transition: all 0.2s ease; flex-shrink: 0;
        }
        .nl-timeline-nav-btn:hover { background: var(--nl-brand-light); color: var(--nl-brand); }
        .nl-timeline-nav-btn:active { transform: scale(0.95); }
        .nl-timeline-nav-btn.disabled { opacity: 0.35; cursor: default; pointer-events: none; }
        .nl-native-date-wrap { position: relative; }
        .nl-native-date-input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; cursor: pointer; z-index: 10; }
        .nl-timeline-track {
            display: flex; gap: 6px; overflow: hidden;
            scrollbar-width: none; padding: 4px 0; flex: 1;
        }
        .nl-timeline-track::-webkit-scrollbar { display: none; }
        .nl-date-card { flex: 1 1 0; min-width: 0; height: 100px; border-radius: 10px;
            display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
            cursor: pointer; transition: all 0.2s ease; border: 1px solid transparent; background: transparent;
            position: relative; padding: 6px 4px 4px;
        }
        .nl-dc-content { display: flex; flex-direction: column; align-items: center; flex: 1; justify-content: center; gap: 1px; }
        .nl-dc-day { font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--nl-text-muted); line-height: 1.2; }
        .nl-dc-num { font-size: 22px; font-weight: 900; line-height: 1; color: var(--nl-text-dark); }
        .nl-dc-month { font-size: 11px; font-weight: 700; color: var(--nl-text-muted); line-height: 1.2; }
        .nl-dc-year { font-size: 10px; font-weight: 600; color: var(--nl-text-muted); opacity: 0.6; line-height: 1; }

        /* Default â€” unvisited date */
        .nl-date-card.has-data { background: #fff; border-color: var(--nl-border-soft); box-shadow: var(--nl-shadow-soft); }
        .nl-date-card.has-data .nl-dc-day { color: var(--nl-brand); }
        .nl-date-card.has-data .nl-dc-num { color: var(--nl-text-dark); }
        .nl-date-card.has-data .nl-dc-month { color: var(--nl-text-muted); }
        .nl-date-card.has-data .nl-dc-year { color: var(--nl-text-muted); opacity: 0.7; }
        .nl-date-card.has-data:hover { border-color: var(--nl-brand); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(15,109,122,0.1); }

        /* Active â€” selected date (highest priority) */
        .nl-date-card.active { background: #fff !important; border: 2px solid #16a34a !important; box-shadow: 0 4px 14px rgba(22,163,74,0.15) !important; transform: translateY(-2px); opacity: 1 !important; padding: 5px 3px 3px; }
        .nl-date-card.active .nl-dc-day, .nl-date-card.active .nl-dc-month, .nl-date-card.active .nl-dc-year { color: #16a34a !important; opacity: 1 !important; }
        .nl-date-card.active .nl-dc-num { color: #15803d !important; }

        /* Date card icon footer â€” always show both icons */
        .nl-dc-dots { display: flex; gap: 10px; align-items: center; justify-content: center; height: 18px; flex-shrink: 0; margin-top: auto; padding-top: 2px; border-top: 1px solid transparent; }
        .nl-date-card.has-data .nl-dc-dots { border-top-color: rgba(0,0,0,0.04); }
        .nl-dot-group { display: flex; align-items: center; }
        .nl-dot-group .nl-dot-indicator { font-size: 12px; flex-shrink: 0; line-height: 1; color: #e0e4e8; opacity: 0.6; transition: all 0.25s; }
        .nl-dot-group.visible.nl-dg-tenders .nl-dot-indicator { color: var(--nl-brand); opacity: 1; }
        .nl-dot-group.visible.nl-dg-appendix .nl-dot-indicator { color: var(--nl-accent); opacity: 1; }
        .nl-date-card.active .nl-dot-group.visible.nl-dg-tenders .nl-dot-indicator { color: var(--nl-brand); opacity: 1; }
        .nl-date-card.active .nl-dot-group.visible.nl-dg-appendix .nl-dot-indicator { color: var(--nl-accent); opacity: 1; }
        .nl-date-card.active .nl-dc-dots { border-top-color: rgba(22,163,74,0.12); }

        /* Visited/checked â€” explored with no results (readable, NOT disabled) */
        .nl-date-card.checked-empty { background: #f1f5f9; border: 1px solid #e2e8f0; opacity: 1; }
        .nl-date-card.checked-empty .nl-dc-day { color: #64748b; }
        .nl-date-card.checked-empty .nl-dc-num { color: #475569; }
        .nl-date-card.checked-empty .nl-dc-month { color: #64748b; }
        .nl-date-card.checked-empty .nl-dc-year { color: #94a3b8; opacity: 1; }
        .nl-date-card.checked-empty:not(.active)::after {
            content: '\f00c'; font-family: 'Font Awesome 6 Free', 'Font Awesome 5 Free'; font-weight: 900;
            font-size: 8px; position: absolute; top: 3px; inset-inline-end: 3px;
            width: 14px; height: 14px; border-radius: 50%; background: #e2e8f0;
            color: #64748b; display: flex; align-items: center; justify-content: center;
        }
        .nl-date-card.checked-empty:hover { border-color: #94a3b8; transform: translateY(-1px); }

        /* ===== MAIN LAYOUT ===== */
        .nl-dashboard-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 32px; align-items: start; }
        @media (max-width: 992px) { .nl-dashboard-layout { grid-template-columns: 1fr; } }

        /* ===== SIDEBAR â€” BuyersList Widget Style ===== */
        .nl-sidebar { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 24px; }
        .nl-nav-card { background: #fff; border-radius: 10px; padding: 20px 22px; box-shadow: 0 1px 3px rgba(0,0,0,.04); border: 0.8px solid rgba(190,190,190,.35); }
        .nl-nc-title { font-size: 13px; font-weight: 700; color: #3a3a3a; margin-bottom: 12px; }
        .nl-nc-list { list-style: none; display: flex; flex-direction: column; gap: 4px; padding: 0; margin: 0; }
        .nl-nc-item {
            display: flex; justify-content: space-between; align-items: center; padding: 10px 14px;
            border-radius: var(--nl-radius-sm); font-size: 14px; font-weight: 700; color: var(--nl-text-main);
            transition: all 0.2s; border: 1px solid transparent; cursor: pointer;
        }
        .nl-nc-item:hover { background: var(--nl-bg-input); color: var(--nl-brand); }
        .nl-nc-item.active { background: var(--nl-brand-light); color: var(--nl-brand); border-color: rgba(15, 109, 122, 0.15); }
        .nl-nc-count { background: #fff; padding: 2px 10px; border-radius: 100px; font-size: 14px; box-shadow: var(--nl-shadow-soft); font-weight: 800; }
        .nl-nc-item.active .nl-nc-count { color: var(--nl-brand); }
        .nl-nc-total {
            display: flex; justify-content: space-between; align-items: center; padding: 10px 14px;
            border-radius: var(--nl-radius-sm); background: linear-gradient(135deg, var(--nl-brand) 0%, #2c8a94 100%);
            font-size: 14px; font-weight: 800; color: #fff; margin-top: 4px;
        }
        .nl-nc-total .nl-nc-count { background: rgba(255,255,255,.2); color: #fff; font-weight: 900; }

        /* Merged Coverage & Activity card (v3.1) */
        .nl-insight-card { background: #fff; border-radius: var(--nl-radius-md); padding: 16px; box-shadow: var(--nl-shadow-soft); border: 1px solid var(--nl-border-soft); }

        /* === URGENCY PANEL === */
        .nl-urgency-title { font-size: 14px; font-weight: 800; color: var(--nl-text-dark); margin: 0 0 12px; display: flex; align-items: center; gap: 6px; }
        .nl-urgency-title i { font-size: 13px; color: var(--nl-accent); }
        .nl-urgency-row { display: flex; align-items: center; gap: 10px; padding: 7px 0; }
        .nl-urgency-row + .nl-urgency-row { border-top: 1px solid var(--nl-border-soft); }
        .nl-urgency-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
        .nl-urgency-dot.expired { background: #ef4444; }
        .nl-urgency-dot.today { background: #f59e0b; }
        .nl-urgency-dot.tomorrow { background: #f97316; }
        .nl-urgency-dot.week { background: var(--nl-brand); }
        .nl-urgency-dot.later { background: #94a3b8; }
        .nl-urgency-label { font-size: 13px; font-weight: 700; color: var(--nl-text-muted); flex: 1; }
        .nl-urgency-count { font-size: 15px; font-weight: 900; min-width: 28px; text-align: center; padding: 2px 8px; border-radius: 6px; }
        .nl-urgency-count.expired { color: #ef4444; background: rgba(239,68,68,0.08); }
        .nl-urgency-count.today { color: #d97706; background: rgba(245,158,11,0.08); }
        .nl-urgency-count.tomorrow { color: #ea580c; background: rgba(249,115,22,0.08); }
        .nl-urgency-count.week { color: var(--nl-brand); background: var(--nl-brand-light); }
        .nl-urgency-count.later { color: #64748b; background: rgba(100,116,139,0.06); }
        .nl-urgency-bar-wrap { height: 6px; background: var(--nl-bg-input); border-radius: 3px; overflow: hidden; margin-top: 10px; display: flex; }
        .nl-urgency-bar-seg { height: 100%; transition: width 0.4s ease; }
        .nl-urgency-bar-seg.expired { background: #ef4444; }
        .nl-urgency-bar-seg.today { background: #f59e0b; }
        .nl-urgency-bar-seg.tomorrow { background: #f97316; }
        .nl-urgency-bar-seg.week { background: var(--nl-brand); }
        .nl-urgency-bar-seg.later { background: #cbd5e1; }
        .nl-urgency-empty { font-size: 12px; font-weight: 600; color: var(--nl-text-muted); text-align: center; padding: 10px 0; }

        .nl-cov-row { display: flex; align-items: center; gap: 8px; padding: 6px 0; }
        .nl-cov-row + .nl-cov-row { border-top: 1px solid var(--nl-border-soft); }
        .nl-cov-icon { width: 28px; height: 28px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; }
        .nl-cov-icon.buyers { background: rgba(99,102,241,.08); color: #6366f1; }
        .nl-cov-icon.categories { background: rgba(16,185,129,.08); color: #10b981; }
        .nl-cov-icon.dates { background: rgba(99,102,241,.06); color: #818cf8; }
        .nl-cov-icon.nl-res { background: var(--nl-brand-light); color: var(--nl-brand); }
        .nl-cov-icon.apx-res { background: var(--nl-accent-glow); color: var(--nl-accent); }
        .nl-cov-label { font-size: 13px; font-weight: 700; color: var(--nl-text-muted); flex: 1; }
        .nl-cov-value { font-size: 16px; font-weight: 900; color: var(--nl-text-dark); }
        .nl-btn-manage {
            display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%;
            background: #fff; border: 0.8px solid rgba(190,190,190,.35);
            color: #3a3a3a; padding: 10px 14px; border-radius: 10px;
            font-size: 13px; font-weight: 700; transition: all 0.2s; text-decoration: none;
            box-shadow: 0 1px 3px rgba(0,0,0,.04);
        }
        .nl-btn-manage:hover { background: var(--nl-brand-light); color: var(--nl-brand); border-color: rgba(15,109,122,.2); text-decoration: none; }
        .nl-cov-note { font-size: 13px; font-weight: 600; color: var(--nl-text-muted); line-height: 1.4; margin-top: 8px; padding: 6px 8px; background: var(--nl-bg-input); border-radius: 6px; display: none; }
        .nl-cov-note.visible { display: block; }

        /* User Stats Card â€” BuyersList Style */
        .nl-stats-card {
            background: #fff; border-radius: 10px; padding: 20px 22px;
            box-shadow: 0 1px 3px rgba(0,0,0,.04); border: 0.8px solid rgba(190,190,190,.35); margin-top: 10px;
        }
        .nl-stats-title { font-size: 13px; font-weight: 700; color: #3a3a3a; margin: 0 0 14px; display: flex; align-items: center; gap: 6px; }
        .nl-stats-title i { color: var(--nl-brand); font-size: 14px; }
        .nl-stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; }
        .nl-stat-item {
            display: flex; flex-direction: column; align-items: center; text-align: center;
            padding: 0; background: none; border-radius: 0; transition: none;
        }
        .nl-stat-item:hover { background: none; }
        .nl-stat-label { font-size: 12px; font-weight: 700; color: #707070; order: -1; margin-bottom: 2px; }
        .nl-stat-num { font-size: 28px; font-weight: 800; color: #378b95; line-height: 1.1; }
        .nl-stat-icon { display: none; }
        .nl-stat-info { display: contents; }
        .nl-stats-divider { height: 1px; background: rgba(190,190,190,.25); margin: 14px 0 10px; }
        .nl-toggle-row { display: flex; align-items: center; justify-content: space-between; padding: 2px 0; }
        .nl-toggle-label { font-size: 13px; font-weight: 700; color: #3a3a3a; display: flex; align-items: center; gap: 6px; }
        .nl-toggle-label i { font-size: 14px; color: var(--nl-brand); }
        .nl-sub-status {
            display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px;
            border-radius: 20px; font-size: 12px; font-weight: 800;
        }
        .nl-sub-status.active { background: rgba(16,185,129,.1); color: #10b981; }
        .nl-sub-status.inactive { background: rgba(148,163,184,.1); color: #94a3b8; }

        /* Subscription status card â€” BuyersList Style */
        .nl-sub-card {
            background: #fff; border-radius: 10px; padding: 20px 22px;
            box-shadow: 0 1px 3px rgba(0,0,0,.04); border: 0.8px solid rgba(190,190,190,.35);
            display: flex; align-items: flex-start; gap: 10px;
        }
        .nl-sub-icon { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; }
        .nl-sub-icon.active { background: rgba(16, 185, 129, 0.1); color: #10b981; }
        .nl-sub-icon.inactive { background: var(--nl-bg-input); color: var(--nl-text-muted); }
        .nl-sub-text h4 { font-size: 13px; font-weight: 800; color: var(--nl-text-dark); margin: 0 0 1px; }
        .nl-sub-text p { font-size: 13px; font-weight: 600; color: var(--nl-text-muted); margin: 0; line-height: 1.3; }
        .nl-sub-text a { color: var(--nl-brand); font-weight: 700; text-decoration: none; font-size: 13px; }
        .nl-sub-text a:hover { text-decoration: underline; }
        .nl-user-email { font-size: 13px; color: var(--nl-brand); font-weight: 700; word-break: break-all; display: block; margin-top: 1px; }

        /* ===== MAIN FEED AREA ===== */
        .nl-feed-container { display: flex; flex-direction: column; gap: 16px; overflow: hidden; max-width: 100%; }
        .nl-feed-section { scroll-margin-top: 32px; overflow: hidden; }

        /* ===== SECTION WRAPPER (tinted background) ===== */
        .nl-section-wrap { border-radius: 10px; padding: 16px; margin-bottom: 8px; overflow: hidden; }
        .nl-section-wrap.tenders-wrap { background: linear-gradient(135deg, rgba(15,109,122,0.04) 0%, rgba(15,109,122,0.01) 100%); border: 1px solid rgba(15,109,122,0.08); }
        .nl-section-wrap.appendix-wrap { background: linear-gradient(135deg, rgba(245,130,32,0.03) 0%, rgba(245,130,32,0.005) 100%); border: 1px solid rgba(245,130,32,0.08); }

        /* Section divider between sections */
        .nl-section-divider { height: 1px; background: linear-gradient(90deg, transparent, var(--nl-border-soft), transparent); margin: 8px 0 20px; }

        /* ===== SECTION HEADER (strong banner) ===== */
        .nl-section-header {
            display: flex; align-items: center; gap: 14px;
            padding: 14px 18px; border-radius: 10px; margin-bottom: 14px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.04);
        }
        .nl-section-header.tenders-header {
            background: linear-gradient(135deg, rgba(15,109,122,0.12) 0%, rgba(15,109,122,0.03) 100%);
            border-inline-start: 4px solid var(--nl-brand);
        }
        .nl-section-header.appendix-header {
            background: linear-gradient(135deg, rgba(245,130,32,0.12) 0%, rgba(245,130,32,0.03) 100%);
            border-inline-start: 4px solid var(--nl-accent);
        }
        .nl-sh-icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 17px; flex-shrink: 0; }
        .nl-sh-icon.tenders { background: var(--nl-brand); color: #fff; box-shadow: 0 2px 8px rgba(15,109,122,0.25); }
        .nl-sh-icon.appendix { background: var(--nl-accent); color: #fff; box-shadow: 0 2px 8px rgba(245,130,32,0.25); }
        .nl-sh-body { flex: 1; min-width: 0; }
        .nl-sh-body h2 { font-size: 16px; font-weight: 800; color: var(--nl-text-dark); margin: 0; line-height: 1.3; }
        .nl-sh-date { font-size: 12px; font-weight: 600; color: var(--nl-text-muted); margin-top: 2px; display: block; }
        .nl-sh-count {
            font-size: 20px; font-weight: 900; padding: 6px 16px; border-radius: 10px;
            display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0;
            letter-spacing: -0.5px; min-width: 50px; justify-content: center;
        }
        .nl-sh-count.tenders { background: var(--nl-brand); color: #fff; box-shadow: 0 2px 8px rgba(15,109,122,0.2); }
        .nl-sh-count.appendix { background: var(--nl-accent); color: #fff; box-shadow: 0 2px 8px rgba(245,130,32,0.2); }
        .nl-sh-count i { font-size: 11px; }

        /* ===== SLIM TENDER ROW (.t-row) ===== */
        .t-row {
            background: var(--nl-bg-card); border-radius: 10px;
            border: 1px solid var(--nl-bg-input);
            padding: 12px 16px; display: flex; align-items: center; gap: 14px;
            transition: all 0.2s ease; margin-bottom: 6px; position: relative;
            border-inline-start: 3px solid rgba(15,109,122,0.2);
            overflow: hidden; max-width: 100%; box-sizing: border-box;
        }
        .t-row:hover { border-color: var(--nl-brand-glow); border-inline-start-color: var(--nl-brand); box-shadow: 0 4px 16px -4px rgba(15, 109, 122, 0.1); }

        /* Country flag â€” inline before title */
        .tr-flag { width: 18px; height: 18px; border-radius: 2px; flex-shrink: 0; margin-top: 3px; object-fit: contain; }
        .tr-title-row { display: flex; align-items: flex-start; gap: 6px; }

        /* Main content area */
        .tr-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; overflow: hidden; }
        .tr-title { font-size: 14px; font-weight: 700; color: var(--nl-text-dark); line-height: 1.5; margin: 0;
            overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
        .tr-title a { color: inherit; text-decoration: none; }
        .t-row:hover .tr-title a { color: var(--nl-brand); }
        .tr-publisher { font-size: 12px; font-weight: 600; color: var(--nl-text-muted); display: flex; align-items: center; gap: 5px;
            overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .tr-publisher i { font-size: 11px; color: var(--nl-border-soft); }

        /* Inline badges (tiny) */
        .tr-badges { display: flex; gap: 4px; align-items: center; flex-shrink: 0; }
        .tr-badges img { width: 18px; height: 18px; opacity: 0.5; transition: opacity 0.2s; }
        .tr-badges img:hover { opacity: 1; }
        .tr-badges img.badge-hidden { display: none; }

        /* Date columns */
        .tr-dates { display: flex; gap: 12px; flex-shrink: 1; align-items: center; min-width: 0; }
        .tr-date { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; }
        .tr-date-label { font-size: 10px; font-weight: 700; color: var(--nl-text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
        .tr-date-value { font-size: 12px; font-weight: 700; color: var(--nl-text-dark); white-space: nowrap; }
        .tr-date-relative { font-size: 10px; font-weight: 600; color: var(--nl-accent); }

        /* Actions */
        .tr-actions { display: flex; gap: 6px; flex-shrink: 0; align-items: center; }
        .tr-btn {
            height: 32px; padding: 0 14px; border-radius: 6px;
            background: var(--nl-brand-light); color: var(--nl-brand);
            font-size: 12px; font-weight: 700; border: none; cursor: pointer;
            display: inline-flex; align-items: center; justify-content: center;
            transition: all 0.2s ease; font-family: inherit; text-decoration: none; white-space: nowrap;
        }
        .t-row:hover .tr-btn { background: var(--nl-brand); color: #fff; }
        .tr-fav {
            width: 32px; height: 32px; border-radius: 6px; background: transparent;
            color: var(--nl-text-muted); border: 1px solid var(--nl-border-soft);
            cursor: pointer; font-size: 13px; display: flex; align-items: center; justify-content: center;
            transition: all 0.2s ease;
        }
        .tr-fav:hover { color: var(--nl-accent); border-color: var(--nl-accent-glow); background: var(--nl-accent-glow); }
        .tr-fav.active { color: var(--nl-accent); background: var(--nl-accent-glow); border-color: var(--nl-accent); }
        .tr-fav.active i { font-weight: 900; }

        /* ===== SLIM APPENDIX ROW (.a-row) â€” mirrors .t-row with orange accent ===== */
        .a-row {
            background: var(--nl-bg-card); border-radius: 10px;
            border: 1px solid var(--nl-bg-input);
            border-inline-start: 3px solid rgba(245,130,32,0.2);
            padding: 12px 16px; display: flex; align-items: center; gap: 14px;
            transition: all 0.2s ease; margin-bottom: 6px; position: relative;
            overflow: hidden; max-width: 100%; box-sizing: border-box;
        }
        .a-row:hover { border-color: rgba(245,130,32,0.25); border-inline-start-color: var(--nl-accent); box-shadow: 0 4px 16px -4px rgba(245, 130, 32, 0.1); }
        .ar-tag { font-size: 10px; font-weight: 700; color: var(--nl-accent); background: var(--nl-accent-glow); padding: 2px 8px; border-radius: 4px; flex-shrink: 0; white-space: nowrap; border: 1px solid rgba(245,130,32,0.15); }
        .ar-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; overflow: hidden; }
        .ar-title { font-size: 14px; font-weight: 700; color: var(--nl-text-dark); line-height: 1.5; margin: 0;
            overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
        .ar-title a { color: inherit; text-decoration: none; }
        .a-row:hover .ar-title a { color: var(--nl-accent); }
        .ar-publisher { font-size: 12px; font-weight: 600; color: var(--nl-text-muted); display: flex; align-items: center; gap: 5px;
            overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .ar-publisher i { font-size: 11px; color: var(--nl-border-soft); }
        .ar-date { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 1px; }
        .ar-date-label { font-size: 10px; font-weight: 700; color: var(--nl-text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
        .ar-date-value { font-size: 12px; font-weight: 700; color: var(--nl-text-dark); white-space: nowrap; }
        .ar-btn {
            height: 32px; padding: 0 14px; border-radius: 6px;
            background: var(--nl-accent-glow); color: var(--nl-accent); font-size: 12px; font-weight: 700;
            border: none; cursor: pointer;
            display: inline-flex; align-items: center; gap: 5px;
            transition: all 0.2s ease; text-decoration: none; font-family: inherit; white-space: nowrap; flex-shrink: 0;
        }
        .a-row:hover .ar-btn { border-color: var(--nl-accent); color: #fff; background: var(--nl-accent); }

        /* Loader & Empty State (compact v3.1) */
        .nl-loader-wrap { padding: 60px 20px; text-align: center; display: none; }
        .nl-spinner { width: 36px; height: 36px; border: 3px solid var(--nl-border-soft); border-top-color: var(--nl-brand); border-radius: 50%; animation: nlSpin 1s linear infinite; margin: 0 auto 12px; }
        @keyframes nlSpin { to { transform: rotate(360deg); } }
        .nl-empty-state { text-align: center; padding: 16px 16px; background: #fff; border-radius: var(--nl-radius-sm); border: 1px solid var(--nl-border-soft); display: none; box-shadow: var(--nl-shadow-soft); }
        .nl-empty-state i { font-size: 24px; color: var(--nl-border-soft); margin-bottom: 6px; display: block; }
        .nl-empty-state h4 { font-size: 15px; font-weight: 800; color: var(--nl-text-dark); margin-bottom: 4px; }
        .nl-empty-state p { font-size: 13px; font-weight: 600; color: var(--nl-text-muted); margin-bottom: 8px; }
        .nl-empty-actions { display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap; }
        .nl-btn-empty { background: var(--nl-brand-light); color: var(--nl-brand); padding: 6px 12px; border-radius: 6px; font-weight: 700; font-size: 13px; border: none; cursor: pointer; transition: all 0.2s; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
        .nl-btn-empty:hover { background: var(--nl-brand); color: #fff; text-decoration: none; }
        .nl-btn-empty.secondary { background: var(--nl-bg-input); color: var(--nl-text-main); }
        .nl-btn-empty.secondary:hover { background: var(--nl-border-soft); }
        /* v3.2: Info banner (replaces zero-state) */
        .nl-summary-zero { display: none; width: 100%; text-align: center; padding: 10px 16px; font-size: 14px; font-weight: 700; color: #7c6f2b; background: #fef9e7; border: 1px solid #f5e6a3; border-radius: 6px; }
        .nl-summary-zero i { color: #c9a825; margin-inline-end: 6px; }
        .nl-summary-zero.visible { display: flex; align-items: center; justify-content: center; gap: 4px; }
        .nl-summary-strip .nl-stat-item.hidden { display: none; }

        /* v3.2: Unified empty state (both zero) */
        .nl-unified-empty { display: none; text-align: center; padding: 24px 20px; background: #fff; border-radius: var(--nl-radius-sm); border: 1px solid var(--nl-border-soft); box-shadow: var(--nl-shadow-soft); margin-bottom: 16px; }
        .nl-unified-empty.visible { display: block; }
        .nl-unified-empty .nl-ue-icon { font-size: 32px; color: var(--nl-border-soft); margin-bottom: 10px; }
        .nl-unified-empty h3 { font-size: 18px; font-weight: 900; color: var(--nl-text-dark); margin: 0 0 6px; }
        .nl-unified-empty p { font-size: 14px; color: var(--nl-text-muted); margin: 0 0 14px; font-weight: 600; }
        .nl-why-card { background: var(--nl-bg-input); border-radius: 8px; padding: 14px 16px; text-align: start; margin-bottom: 14px; border: 1px dashed var(--nl-border-soft); }
        .nl-why-card h4 { font-size: 14px; font-weight: 800; color: var(--nl-text-dark); margin: 0 0 8px; }
        .nl-why-card ul { list-style: none; padding: 0; margin: 0; }
        .nl-why-card ul li { font-size: 13px; color: var(--nl-text-muted); padding: 3px 0; font-weight: 600; }
        .nl-why-card ul li::before { content: 'â€¢'; color: var(--nl-brand); font-weight: 900; margin-inline-end: 6px; }

        /* v3.2: Sidebar status block */
        .nl-status-block { display: none; padding: 10px 0; }
        .nl-status-block.visible { display: block; }
        .nl-status-row { display: flex; align-items: center; gap: 8px; padding: 5px 0; font-size: 13px; font-weight: 700; }
        .nl-status-row .nl-s-icon { width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; flex-shrink: 0; }
        .nl-status-row .nl-s-icon.ok { background: #d1fae5; color: #059669; }
        .nl-status-row .nl-s-icon.fail { background: #fee2e2; color: #dc2626; }
        .nl-status-row .nl-s-icon.warn { background: #fef3c7; color: #d97706; }
        .nl-status-row .nl-s-text { color: var(--nl-text-muted); }

        /* Hidden caleran input â€” kept for calendar popup */
        .nl-caleran-hidden { position: absolute; opacity: 0; width: 1px; height: 1px; overflow: hidden; pointer-events: none; }

        /* Timeline divider */
        .nl-timeline-divider { width: 1px; height: 40px; background: var(--nl-border-soft); margin: 0 4px; flex-shrink: 0; }

        @media (max-width: 768px) {
            .nl-page-header { padding: 10px 0 36px; }
            .nl-header-text h1, .nl-header-text h2, .nl-header-text h3,
            .nl-header-text h4, .nl-header-text h5, .nl-header-text h6 { font-size: 18px !important; }
            .nl-timeline-wrapper { padding: 8px; gap: 4px; }
            /* FIX: Calendar date cards â€” prevent overflow on mobile */
            .nl-date-card { min-width: 0; height: 82px; padding: 4px 2px 3px; gap: 0; }
            .nl-dc-day { font-size: 8px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
            .nl-dc-num { font-size: 16px; }
            .nl-dc-month { font-size: 8px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
            .nl-dc-year { font-size: 8px; }
            .nl-dc-dots { height: 14px; gap: 6px; }
            .nl-dot-group .nl-dot-indicator { font-size: 10px; }
            .nl-timeline-nav-btn { width: 32px; height: 78px; font-size: 14px; }
            .nl-timeline-divider { margin: 0 2px; }
            .nl-summary-strip { padding: 6px 8px; gap: 4px; }
            .nl-stat-item { padding: 4px 6px; }
            .nl-stat-value { font-size: 14px; }
            /* Slim rows mobile */
            .t-row, .a-row { flex-wrap: wrap; padding: 12px; }
            .tr-body, .ar-body { width: 100%; flex-basis: 100%; order: 1; }
            .tr-badges { order: 2; }
            .tr-dates { order: 3; width: 100%; padding-top: 8px; border-top: 1px solid var(--nl-bg-input); }
            .tr-actions { order: 4; width: 100%; justify-content: flex-end; padding-top: 6px; }
            .ar-tag { order: 0; }
            .ar-date { order: 3; }
            .ar-btn { order: 4; }
            /* Hide stats card and email subscription card on mobile */
            .nl-stats-card, .nl-sub-card, .nl-btn-manage { display: none !important; }
        }
        @media (max-width: 400px) {
            /* Extra small screens â€” further reduce date card sizes */
            .nl-date-card { height: 74px; padding: 3px 1px 2px; }
            .nl-dc-day { font-size: 7px; }
            .nl-dc-num { font-size: 14px; }
            .nl-dc-month { font-size: 7px; }
            .nl-dc-year { display: none; }
            .nl-dc-dots { height: 12px; gap: 4px; }
            .nl-dot-group .nl-dot-indicator { font-size: 9px; }
            .nl-timeline-nav-btn { width: 28px; height: 70px; font-size: 12px; }
        }
