@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap");:root{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-card:rgba(30,41,59,.75);--bg-card-hover:rgba(30,41,59,.98);--bg-glass:hsla(0,0%,100%,.04);--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-accent:#3b82f6;--accent-blue:#3b82f6;--accent-indigo:#6366f1;--accent-teal:#14b8a6;--accent-warning:#f59e0b;--accent-urgent:#ef4444;--accent-deadline:#facc15;--badge-rfp:linear-gradient(135deg,#3b82f6,#6366f1);--badge-rfq:#0ea5e9;--badge-rfi:linear-gradient(135deg,#f59e0b,#d97706);--badge-tender:#10b981;--border-subtle:hsla(0,0%,100%,.05);--border-glass:hsla(0,0%,100%,.1);--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 20px rgba(0,0,0,.5);--shadow-lg:0 20px 50px rgba(0,0,0,.6);--font-heading:"Inter",sans-serif;--font-body:"Inter",sans-serif;--font-mono:"JetBrains Mono",monospace;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}.app-container{display:flex;min-height:100vh;position:relative}.sidebar{width:72px;background:var(--bg-secondary);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;will-change:width;transform:translateZ(0);align-items:center;padding:24px 0;transition:width .3s cubic-bezier(.4,0,.2,1);z-index:100;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:hidden}.sidebar:hover{width:240px;align-items:flex-start;padding-left:20px;padding-right:20px}.sidebar-logo{font-size:24px;margin-bottom:40px;color:var(--accent-blue);display:flex;align-items:center;gap:12px;width:100%;justify-content:center}.sidebar:hover .sidebar-logo{justify-content:flex-start}.sidebar-logo-text{display:none;font-family:var(--font-heading);font-weight:700;font-size:18px;white-space:nowrap}.sidebar:hover .sidebar-logo-text{display:block}.nav-item{width:100%;display:flex;align-items:center;justify-content:center;padding:12px 0;color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);margin-bottom:8px;transition:all .2s;position:relative;cursor:pointer}.sidebar:hover .nav-item{justify-content:flex-start;padding:12px 16px}.nav-item.active,.nav-item:hover{color:var(--text-primary);background:var(--bg-glass)}.nav-item.active:before{content:"";position:absolute;left:0;top:25%;height:50%;width:3px;background:var(--accent-blue);border-radius:0 4px 4px 0}.nav-icon{font-size:20px}.nav-text{display:none;margin-left:16px;font-weight:500;white-space:nowrap}.sidebar:hover .nav-text{display:block}.main-content{flex:1 1;padding:40px 60px;position:relative;z-index:1;max-width:1400px;width:100%}.terminal-header{margin-bottom:40px}.status-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(16,185,129,.1);color:#10b981;padding:4px 12px;border-radius:var(--radius-full);font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:1px;margin-bottom:16px;border:1px solid rgba(16,185,129,.2)}.status-dot{width:6px;height:6px;background:#10b981;border-radius:50%}.status-dot.pulse{animation:statusPulse 1.5s infinite}@keyframes statusPulse{0%{box-shadow:0 0 0 0 rgba(16,185,129,.7)}70%{box-shadow:0 0 0 8px rgba(16,185,129,0)}to{box-shadow:0 0 0 0 rgba(16,185,129,0)}}.terminal-header h1{font-size:42px;font-weight:800;letter-spacing:-.02em;margin-bottom:8px;background:linear-gradient(180deg,#fff 0,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.terminal-header p{color:var(--text-secondary);font-size:18px}.search-console{background:rgba(30,41,59,.6);border:1px solid hsla(0,0%,100%,.08);border-radius:16px;padding:32px;box-shadow:0 24px 48px rgba(0,0,0,.5),inset 0 1px 1px hsla(0,0%,100%,.1);margin-bottom:48px}.search-container{display:flex;gap:16px;background:rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;padding:10px 20px;margin-bottom:32px;transition:all .3s cubic-bezier(.4,0,.2,1);align-items:center}.search-container:focus-within{border-color:#3b82f6;background:rgba(0,0,0,.4);box-shadow:0 0 20px rgba(59,130,246,.15)}.search-icon{font-size:20px;opacity:.6}.search-input{background:transparent;border:none;color:#fff;flex:1 1;font-size:20px;outline:none;font-weight:500;letter-spacing:-.01em}.search-input::placeholder{color:hsla(0,0%,100%,.2)}.search-btn{background:#3b82f6;color:#fff;border:none;padding:12px 32px;border-radius:8px;font-weight:700;font-size:15px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px rgba(59,130,246,.3)}.search-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 6px 16px rgba(59,130,246,.4)}.search-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.stop-btn{background:#ef4444!important;box-shadow:0 4px 12px rgba(239,68,68,.3)!important}.console-filters{display:flex;align-items:flex-end;gap:16px}.filter-group{width:220px;flex-shrink:0}.filter-group label{display:block;font-family:var(--font-mono);font-size:10px;color:#64748b;margin-bottom:8px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700}.scanner-status-row{display:flex;justify-content:center;gap:16px;margin-top:24px;flex-wrap:wrap}.scanner-status-chip{background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.08);padding:8px 16px;border-radius:12px;display:flex;align-items:center;gap:10px;font-size:13px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(0,0,0,.2)}.scanner-status-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;transition:all .3s}.scanner-status-chip.pending .scanner-status-dot{background:#3b82f6;box-shadow:0 0 10px rgba(59,130,246,.6);animation:pulse-blue 2s infinite}.scanner-status-chip.done .scanner-status-dot{background:#10b981;box-shadow:0 0 10px rgba(16,185,129,.4)}.scanner-status-name{color:var(--text-primary);font-weight:600}.scanner-status-text{color:var(--text-muted);font-size:12px;font-family:var(--font-mono)}@keyframes pulse-blue{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(59,130,246,.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(59,130,246,0)}to{transform:scale(.95);box-shadow:0 0 0 0 rgba(59,130,246,0)}}.filter-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-subtle)}.filter-buttons{display:flex;gap:8px}.filter-btn{background:transparent;border:1px solid var(--border-glass);color:var(--text-secondary);padding:6px 16px;border-radius:var(--radius-full);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.filter-btn.active,.filter-btn:hover{background:var(--bg-glass);color:var(--text-primary);border-color:var(--text-secondary)}.filter-btn.active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.filter-count{opacity:.6;font-size:11px;margin-left:4px}.sort-toggle{display:flex;background:rgba(0,0,0,.2);padding:4px;border-radius:var(--radius-md);border:1px solid var(--border-glass)}.sort-btn{background:transparent;border:none;color:var(--text-secondary);padding:6px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.sort-btn.active{background:var(--bg-tertiary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.pagination-summary{max-width:1100px;margin:0 auto 12px;width:100%;font-size:11px;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.loading-more{color:var(--accent-indigo);animation:pulse-text 1.4s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.4}}.pagination-bar{display:flex;align-items:center;justify-content:center;gap:16px;padding:28px 0 8px}.page-btn{padding:8px 20px;border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:transparent;color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.05em}.page-btn:hover:not(:disabled){background:rgba(99,102,241,.08);border-color:var(--accent-indigo);color:var(--accent-indigo)}.page-btn:disabled{opacity:.3;cursor:not-allowed}.page-indicator{font-size:12px;color:var(--text-secondary);min-width:110px;text-align:center;letter-spacing:.05em}.cards-grid{display:flex;flex-direction:column;gap:20px;max-width:1100px;margin:0 auto;width:100%}.tender-card{background:var(--bg-card);border:1px solid hsla(0,0%,100%,.08);border-radius:12px;padding:20px;transition:border-color .2s,box-shadow .2s,transform .2s;position:relative;contain:layout style paint}.tender-card:hover{background:var(--bg-card-hover);border-color:rgba(59,130,246,.5);box-shadow:0 12px 36px rgba(0,0,0,.6),inset 0 1px 0 hsla(0,0%,100%,.1);transform:translateY(-2px)}.tender-card.urgent{border-left:4px solid var(--accent-urgent)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.card-title{font-size:18px;font-weight:700;line-height:1.4;color:var(--text-primary);flex:1 1}.card-badge{padding:4px 12px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff}.badge-rfp{background:#818cf8}.badge-rfq{background:#0ea5e9}.badge-rfi{background:#f59e0b}.badge-tender{background:#10b981}.card-source-bar{display:flex;gap:12px;margin-bottom:12px}.id-tag,.source-tag{background:#1e293b;color:#94a3b8;font-family:var(--font-mono);font-size:11px;padding:3px 10px;border-radius:4px;font-weight:600;text-transform:uppercase;border:1px solid hsla(0,0%,100%,.05)}.source-tag{color:#60a5fa;background:rgba(59,130,246,.1)}.relevance-pill{padding:2px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.relevance-pill.high{background:rgba(16,185,129,.1);color:#10b981}.relevance-pill.mid{background:rgba(245,158,11,.1);color:#f59e0b}.relevance-pill.low{background:rgba(100,116,139,.1);color:#94a3b8}.card-org{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px;margin-bottom:16px}.card-location{margin-left:auto;color:var(--text-muted);font-size:13px}.card-timeline{justify-content:space-between;gap:20px;background:rgba(0,0,0,.15);padding:10px 16px;border-radius:8px;margin-bottom:16px}.card-timeline,.timeline-item{display:flex;align-items:center}.timeline-item{gap:8px}.timeline-label{font-size:11px;color:var(--text-muted);font-weight:500}.timeline-value{font-size:13px;font-weight:600;color:var(--text-primary);font-family:var(--font-mono)}.timeline-item.closing .timeline-value{color:var(--accent-warning)}.card-footer{display:flex;justify-content:space-between;align-items:center}.bookmark-btn{background:transparent;border:1px solid var(--border-glass);color:var(--text-secondary);padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.bookmark-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.bookmark-btn.saved{background:rgba(59,130,246,.1);color:var(--accent-blue);border-color:var(--accent-blue)}.view-source-btn{background:var(--text-primary);color:var(--bg-primary);text-decoration:none;padding:8px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:700;transition:all .2s}.view-source-btn:hover{background:var(--text-secondary)}.card-title-tooltip{position:relative;flex:1 1}.card-title-tooltip:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 10px);left:0;z-index:1000;background:rgba(10,16,30,.97);color:var(--text-secondary);font-size:12.5px;font-weight:400;line-height:1.65;padding:12px 16px;border-radius:10px;border:1px solid rgba(59,130,246,.2);border-left:3px solid #3b82f6;box-shadow:0 12px 40px rgba(0,0,0,.65),0 2px 10px rgba(59,130,246,.12);white-space:pre-wrap;max-width:520px;min-width:260px;word-break:break-word;pointer-events:none;opacity:0;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease}.card-title-tooltip:hover:after{opacity:1;transform:translateY(0)}.tags-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag-chip{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);color:var(--text-secondary);padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;display:flex;align-items:center;gap:6px;transition:all .2s}.tag-chip:hover{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.2)}.tag-remove{width:16px;height:16px;border-radius:50%;background:hsla(0,0%,100%,.1);display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;color:var(--text-muted);transition:all .2s}.tag-remove:hover{background:#ef4444;color:#fff}.mass-unsave-btn{background:rgba(239,68,68,.05);border:1px solid rgba(239,68,68,.1);color:#f87171;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.mass-unsave-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444}.empty-state{text-align:center;padding:80px 0;color:var(--text-muted)}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.3}.loading-container{display:flex;flex-direction:column;align-items:center;padding:80px 0}.spinner{width:40px;height:40px;border:3px solid var(--border-glass);border-top-color:var(--accent-blue);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(1turn)}}.loading-text{font-family:var(--font-mono);font-size:12px;letter-spacing:1px;color:var(--text-secondary);text-transform:uppercase}.mobile-nav{display:none;position:fixed;bottom:0;left:0;width:100%;height:64px;background:var(--bg-secondary);border-top:1px solid var(--border-subtle);z-index:1000;padding:0 16px;justify-content:space-around;align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-nav .nav-item{flex-direction:column;padding:8px 0;gap:4px;font-size:10px;margin-bottom:0}.mobile-nav .nav-icon{font-size:20px}.mobile-nav .nav-text{display:block;margin-left:0}@media (min-width:1200px){.cards-grid{grid-template-columns:repeat(1,1fr)}}@media (max-width:1024px){.main-content{padding:30px}.card-timeline{grid-template-columns:repeat(2,1fr)}.terminal-header h1{font-size:32px}}@media (max-width:768px){.app-container{flex-direction:column}.sidebar{display:none}.mobile-nav{display:flex}.main-content{padding:24px 20px 100px}.console-filters{flex-wrap:wrap}.filter-group{width:100%}.search-container{flex-direction:column;padding:16px;gap:12px}.search-btn{width:100%}}.cards-grid{max-width:1200px!important}.add-tag-form{display:flex;gap:8px;background:hsla(0,0%,100%,.03);padding:6px;border-radius:10px;border:1px solid hsla(0,0%,100%,.1);max-width:340px;margin-bottom:16px}.add-tag-input{background:transparent;border:none;color:#fff;padding:8px 12px;font-size:14px;width:100%;outline:none}.add-tag-input::placeholder{color:var(--text-muted)}.add-tag-btn{background:var(--accent-blue);color:#fff;border:none;padding:0 16px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s}.add-tag-btn:hover{background:#2563eb;transform:translateY(-1px)}.library-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}.tag-filter-btn{background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.08);color:var(--text-secondary);padding:8px 18px;border-radius:var(--radius-pill);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.tag-filter-btn:hover{background:hsla(0,0%,100%,.08);color:#fff;border-color:hsla(0,0%,100%,.2)}.tag-filter-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue);box-shadow:0 4px 15px rgba(59,130,246,.3)}.clear-filters-btn{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);color:#f87171;padding:8px 18px;border-radius:var(--radius-pill);font-size:13px;font-weight:700;cursor:pointer;transition:all .2s}.clear-filters-btn:hover{background:#ef4444;color:#fff}