@import url(https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600&display=swap);.sidebar{background:linear-gradient(180deg,#2c3e50,#34495e);box-shadow:2px 0 8px #0000001a;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;width:250px}.sidebar-header{border-bottom:1px solid #ffffff1a;padding:24px 20px}.sidebar-header h2{color:#fff;font-size:18px;font-weight:600;margin:0}.sidebar-nav{flex:1 1;padding:16px 0}.sidebar-footer{border-top:1px solid #ffffff1a;padding:16px 20px 24px}.logout-button{background:#ffffff1a;border:1px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;padding:12px 16px;text-align:center;transition:all .2s;width:100%}.logout-button:hover{background:#fff3}.nav-item{align-items:center;background:none;border:none;border-left:3px solid #0000;color:#fffc;cursor:pointer;display:flex;font-size:15px;gap:12px;padding:14px 20px;text-align:left;transition:all .2s;width:100%}.nav-item:hover{background-color:#ffffff1a;color:#fff}.nav-item.active{background-color:#ffffff26;border-left-color:#3498db;color:#fff;font-weight:600}.nav-icon{font-size:20px}.nav-label{flex:1 1}@media (max-width:768px){.sidebar{width:70px}.nav-label,.sidebar-header h2{display:none}.nav-item{justify-content:center}}.feed-health-container{margin:0 auto;max-width:1600px;padding:30px}.health-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.summary-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:16px;padding:20px;transition:transform .2s}.summary-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-4px)}.summary-icon{font-size:40px;line-height:1}.summary-content h3{color:#666;font-size:13px;font-weight:500;letter-spacing:.5px;margin:0 0 6px;text-transform:uppercase}.summary-number{color:#2c3e50;font-size:28px;font-weight:700;margin:0}.health-table-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.table-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.table-header h2{color:#2c3e50;font-size:20px;font-weight:600;margin:0}.refresh-btn{border-radius:6px;font-size:14px;padding:8px 16px;transition:all .2s}.refresh-btn:hover{box-shadow:0 4px 8px #0003}.health-table-container{overflow-x:auto}.health-table{border-collapse:collapse;min-width:900px;width:100%}.health-table thead{background-color:#2c3e50;color:#fff}.health-table th{font-size:13px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.health-table td{border-bottom:1px solid #e0e0e0;font-size:14px;padding:14px 16px}.health-table tbody tr:hover{background-color:#f8f9fa}.health-table tbody tr:last-child td{border-bottom:none}.wrap-cell{word-wrap:break-word;max-width:300px;overflow-wrap:break-word;white-space:normal;word-break:break-word}.site-name-cell{color:#2c3e50;font-weight:600}.feed-url-cell a{color:#1976d2;display:inline-block;font-size:13px;text-decoration:none;word-break:break-all}.feed-url-cell a:hover{text-decoration:underline}.count-badge{border-radius:12px;font-size:14px;font-weight:600;padding:4px 12px}.status-badge{letter-spacing:.5px}.status-badge.healthy{background-color:#d4edda;color:#155724}.status-badge.medium{background-color:#fff3cd;color:#856404}.status-badge.low{background-color:#f8d7da;color:#721c24}.status-badge.inactive{background-color:#e0e0e0;color:#666}.date-cell{color:#666;min-width:100px}.edit-input{width:100%}.edit-input,.edit-input-date{border:1px solid #4caf50;border-radius:4px;font-size:13px;padding:6px 10px}.edit-input-date{width:140px}.actions-cell{white-space:nowrap}.cancel-btn,.edit-btn,.save-btn{border:none;border-radius:4px;cursor:pointer;font-size:12px;margin:0 4px;padding:6px 12px;transition:all .2s}.edit-btn{background-color:#2196f3;color:#fff}.edit-btn:hover{background-color:#0b7dda}.save-btn{background-color:#4caf50;color:#fff}.save-btn:hover{background-color:#45a049}.cancel-btn{background-color:#f44336;color:#fff}.cancel-btn:hover{background-color:#da190b}@media (max-width:768px){.feed-health-container{padding:20px}.health-summary{gap:16px;grid-template-columns:1fr}.table-header{align-items:flex-start;flex-direction:column;gap:12px}.refresh-btn{width:100%}}.articles-container{background-color:#f8fafc;margin:0 auto;max-width:1800px;min-height:100vh;padding:30px}.articles-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;justify-content:space-between;margin-bottom:30px;padding:20px}.articles-header,.page-title{align-items:center;display:flex}.page-title{font-size:2rem;gap:10px;margin:0}.articles-summary{align-items:center;display:flex;font-size:14px;gap:20px}.total-count{background:#fff3;font-weight:600}.page-info,.total-count{border-radius:20px;padding:8px 16px}.page-info{background:#ffffff26}.filtering-indicator{animation:pulse 1.5s infinite;background:#ffc107e6;border-radius:15px;color:#2d3748;font-size:12px;font-weight:600;padding:6px 12px}.refresh-btn{background:#ffffffe6;border-radius:25px;color:#667eea;padding:10px 20px;transition:all .2s ease}.refresh-btn:hover{background:#fff}.filters-section{align-items:end;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:25px;padding:25px}.filter-group{flex-direction:column;gap:8px;min-width:180px}.filter-group label{color:#4a5568;font-size:13px;font-weight:600}.filter-group input{border:2px solid #e2e8f0;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .2s ease}.filter-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.filter-group input[type=text]{min-width:200px}.reset-filters-btn{background:linear-gradient(135deg,#ed8936,#dd6b20);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;height:-webkit-fit-content;height:fit-content;padding:12px 20px;transition:all .2s ease}.reset-filters-btn:hover{box-shadow:0 4px 8px #ed89364d;transform:translateY(-2px)}.articles-table-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin-bottom:30px;overflow:hidden}.articles-table{border-collapse:collapse;width:100%}.articles-table th{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:2px solid #e2e8f0;color:#4a5568;font-size:14px;font-weight:600;padding:18px 16px;text-align:left;white-space:nowrap}.sortable-header{cursor:pointer;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none}.sortable-header:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e0);color:#2d3748}.sort-icon{color:#a0aec0;font-size:12px;margin-left:8px;transition:color .2s ease}.sort-icon.active{color:#667eea;font-weight:700}.articles-table td{border-bottom:1px solid #e2e8f0;padding:16px;vertical-align:top}.articles-table tr:hover{background-color:#f7fafc}.index-cell{color:#718096;font-weight:600;text-align:center;width:60px}.url-cell{max-width:200px;word-break:break-all}.url-cell a{color:#667eea;font-size:13px;text-decoration:none}.url-cell a:hover{color:#764ba2;text-decoration:underline}.date-cell{color:#718096;font-size:13px;white-space:nowrap;width:140px}.category-cell,.org-cell{word-wrap:break-word;font-size:14px;max-width:150px}.category-cell{background-color:#f7fafc;font-weight:500}.title-cell{word-wrap:break-word;color:#2d3748;font-weight:500;max-width:300px}.no-data{color:#a0aec0;padding:40px}.loading-container{color:#718096;height:300px}.error-container{background:#fed7d7;border-radius:12px;color:#c53030;margin:20px 0;padding:40px;text-align:center}.retry-btn{background:#e53e3e;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:10px;padding:10px 20px}.retry-btn:hover{background:#c53030}.pagination-container{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;padding:20px}.pagination{align-items:center;display:flex;gap:8px}.pagination-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;font-weight:500;padding:10px 16px;transition:all .2s ease}.pagination-btn:hover{border-color:#667eea;color:#667eea}.pagination-btn.active{background:#667eea;border-color:#667eea;color:#fff}.pagination-ellipsis{color:#a0aec0;padding:0 8px}.pagination-info{color:#718096;font-size:14px}.processed-cell{min-width:120px}.processed-toggle.pending:hover{background-color:#f59e0b;color:#fff;transform:translateY(-1px)}.processed-toggle.processed{background-color:#d1fae5;border-color:#10b981;color:#10b981}.processed-toggle.processed:hover{background-color:#10b981;color:#fff;transform:translateY(-1px)}.pdf-links-cell{max-width:150px;padding:8px;vertical-align:top}.pdf-links-list{display:flex;flex-direction:column;gap:4px}.pdf-link{background-color:#fff5f5;border:1px solid #fed7d7;border-radius:4px;color:#dc3545;display:inline-block;font-size:.85rem;font-weight:500;padding:2px 6px;text-decoration:none;transition:all .2s}.pdf-link:hover{background-color:#fed7d7;color:#c53030;transform:translateY(-1px)}.more-links{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;font-size:.8rem;font-style:italic;padding:2px 6px}.no-pdfs{color:#9ca3af;font-size:.85rem;font-style:italic}.pdf-done-cell{min-width:80px;padding:8px;text-align:center}.pdf-status{border:1px solid;border-radius:12px;display:inline-block;font-size:.85rem;font-weight:500;padding:4px 8px}.pdf-status.done{background-color:#d1fae5;border-color:#6ee7b7;color:#059669}.pdf-status.pending{background-color:#fee2e2;border-color:#fca5a5;color:#dc2626}@media (max-width:1200px){.pdf-links-cell{max-width:120px}.pdf-link{font-size:.8rem}}.datewise-container{margin:0;max-width:none;padding:30px;width:98%}.summary-banner{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #00000026;display:flex;justify-content:space-around;margin-bottom:30px;padding:24px}.summary-item{align-items:center;display:flex;flex-direction:column;gap:8px}.summary-label{color:#ffffffe6;font-size:14px;font-weight:500;letter-spacing:1px;text-transform:uppercase}.summary-value{color:#fff;font-size:36px;font-weight:700}.datewise-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;overflow:hidden}.datewise-table{border-collapse:collapse;width:100%}.datewise-table thead{background-color:#2c3e50;color:#fff}.datewise-table th{font-size:14px;font-weight:600;letter-spacing:.5px;padding:16px 20px;text-align:left;text-transform:uppercase}.datewise-table td{border-bottom:1px solid #e0e0e0;font-size:15px;padding:16px 20px}.datewise-table tbody tr:hover{background-color:#f8f9fa;transition:background-color .2s}.datewise-table tbody tr:last-child td{border-bottom:none}.date-cell{display:flex;flex-direction:column;gap:6px}.date-badge{color:#2c3e50;font-size:16px;font-weight:600}.date-raw{color:#666;font-family:monospace;font-size:13px}.count-cell{text-align:center}.count-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;display:inline-block;font-size:18px;font-weight:700;min-width:60px;padding:8px 20px}.count-badge.processed{background:linear-gradient(135deg,#16a34a,#22c55e)}.count-badge.pending{background:linear-gradient(135deg,#f97316,#f59e0b)}.download-cell{text-align:center}.download-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:6px;box-shadow:0 2px 6px #00000026;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s}.download-btn:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1ea87a);box-shadow:0 4px 10px #00000040;transform:translateY(-2px)}.download-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.no-data{color:#999;font-size:16px;font-style:italic;padding:60px;text-align:center}.refresh-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #00000026;color:#fff;cursor:pointer;display:block;font-size:16px;font-weight:600;margin:0 auto;padding:12px 24px;transition:all .3s}.refresh-btn:hover{box-shadow:0 4px 12px #00000040;transform:translateY(-2px)}.loading-container{align-items:center;color:#666;display:flex;font-size:18px;justify-content:center;min-height:400px}@media (max-width:768px){.datewise-container{padding:20px}.summary-banner{flex-direction:column;gap:20px}.summary-value{font-size:28px}.datewise-table td,.datewise-table th{padding:12px 16px}}.scrape-jobs-container{margin:0;max-width:none;padding:30px;width:98%}.scrape-control-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:40px}.scrape-info{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.scrape-info h2{color:#2c3e50;font-size:20px;font-weight:600;margin:0 0 20px}.last-scrape-card{background:#f8f9fa;border-left:4px solid #28a745;border-radius:8px;padding:20px}.last-scrape-card.error{border-left-color:#dc3545}.scrape-detail{border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:8px 0}.scrape-detail:last-child{border-bottom:none}.detail-label{color:#666;font-weight:500}.detail-value{color:#2c3e50;font-weight:600}.detail-value.highlight{color:#28a745;font-size:18px}.status-success{color:#28a745}.error-text,.status-error{color:#dc3545}.no-scrape-info{background:#f8f9fa;border-radius:8px;color:#999;font-style:italic;padding:40px;text-align:center}.scrape-action{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;flex-direction:column;justify-content:center;padding:24px;text-align:center}.scrape-action,.scrape-button{align-items:center;display:flex}.scrape-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea66;color:#fff;cursor:pointer;font-size:16px;font-weight:600;gap:12px;padding:16px 40px;transition:all .3s}.scrape-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea99;transform:translateY(-2px)}.scrape-button:disabled{cursor:not-allowed;opacity:.7}.scrape-button .icon{font-size:24px}.spinner{border:3px solid #ffffff4d;height:20px;width:20px}.scrape-hint{color:#666;font-size:14px;margin-top:16px}.scrape-history-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.scrape-history-section h2{color:#2c3e50;font-size:20px;font-weight:600;margin:0 0 20px}.history-table-wrapper{overflow-x:auto}.history-table{border-collapse:collapse;font-size:14px;width:100%}.history-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.history-table th{color:#495057;font-weight:600;padding:12px;text-align:left;white-space:nowrap}.history-table td{border-bottom:1px solid #dee2e6;padding:12px}.history-table tbody tr:hover{background-color:#f8f9fa}.history-table tbody tr.status-completed{border-left:3px solid #28a745}.history-table tbody tr.status-failed{border-left:3px solid #dc3545}.history-table tbody tr.status-running{border-left:3px solid #ffc107}.status-badge{align-items:center;display:inline-flex;font-weight:600;gap:4px;text-transform:uppercase}.job-type{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;padding:4px 8px}.job-type.manual{background-color:#e7f3ff;color:#004085}.job-type.automatic{background-color:#f0e7ff;color:#4a148c}.loading{color:#666;font-size:16px}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{background:#f8f9fa;border-left:4px solid #28a745;border-radius:8px;padding:16px}.history-item.error{border-left-color:#dc3545}.history-time{color:#666;font-size:13px;margin-bottom:8px}.history-details{align-items:center;display:flex;flex-wrap:wrap;font-size:14px;font-weight:500;gap:12px}@media (max-width:768px){.scrape-jobs-container{padding:20px}.scrape-control-section{grid-template-columns:1fr}.scrape-button{width:100%}}.batch-jobs-container{margin:0;max-width:none;padding:20px;width:98%}.batch-jobs-container h1{color:#333;margin-bottom:20px}.batch-job-form-container{background:#f5f5f5;border-radius:8px;margin-bottom:30px;padding:20px}.batch-job-form-container h2{color:#555;font-size:18px;margin-bottom:15px}.batch-job-form{display:flex;flex-direction:column;gap:15px}.form-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:15px}.form-field{display:flex;flex-direction:column;gap:5px;min-width:200px}.checkbox-label{align-items:center;color:#2c3e50;display:flex;font-weight:600;gap:8px}.field-help{color:#6b7280;display:block;font-size:12px;margin-top:6px}.form-field label{color:#555;font-size:14px;font-weight:500}.form-field input,.form-field select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px}.form-field button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .3s}.form-field button:hover:not(:disabled){background-color:#45a049}.form-field button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{background-color:#ffebee;border-left:4px solid #c62828;border-radius:4px;padding:12px}.batch-jobs-history{margin-top:30px}.batch-jobs-history h2{color:#555;font-size:18px;margin-bottom:15px}.batch-jobs-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;width:100%}.batch-jobs-table thead{background-color:#2c3e50;color:#fff}.batch-jobs-table th{font-size:13px;font-weight:600;padding:12px;text-align:left;white-space:nowrap}.batch-jobs-table td{border-bottom:1px solid #e0e0e0;font-size:13px;padding:12px}.batch-jobs-table tbody tr:hover{background-color:#f5f5f5}.status-badge{padding:4px 10px}.status-badge.running{background-color:#fff3cd;color:#856404}.status-badge.completed{background-color:#d4edda;color:#155724}.status-badge.failed{background-color:#f8d7da;color:#721c24}.batch-form{background:#f9f9f9;border-radius:8px;margin-bottom:30px;padding:25px}.batch-form h2{color:#333;margin-bottom:10px}.batch-form .description{color:#666;font-size:14px;margin-bottom:20px}.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;margin-bottom:8px}.form-input,.form-select{border:1px solid #ddd;border-radius:4px;font-size:14px;max-width:400px;padding:10px;width:100%}.form-input:focus,.form-select:focus{border-color:#4caf50;outline:none}.result-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-top:25px;padding:25px}.result-card h3{border-bottom:2px solid #4caf50;color:#333;margin-bottom:15px;padding-bottom:10px}.result-details p{color:#555;margin:10px 0}.result-details strong{color:#333;margin-right:8px}.extracted-output{background:#f5f5f5;border-left:4px solid #4caf50;border-radius:4px;color:#2c3e50;font-family:Courier New,monospace;margin:10px 0;padding:15px}.status-success{color:#4caf50;font-weight:700}.status-failed{color:#f44336;font-weight:700}.error-text{color:#f44336}.info-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:30px;text-align:center}.info-card p{color:#666;font-size:16px;margin:10px 0}@media (max-width:768px){.form-row{flex-direction:column}.form-field{width:100%}.batch-jobs-table{font-size:12px}.batch-jobs-table td,.batch-jobs-table th{padding:8px}.form-input,.form-select{max-width:100%}}.pdf-extractor{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.pdf-extractor-header{margin-bottom:30px;text-align:center}.pdf-extractor-header h1{color:#2c3e50;font-size:2.5rem;font-weight:700;margin:0 0 10px}.pdf-extractor-header p{color:#7f8c8d;font-size:1.1rem;margin:0}.pdf-extractor-controls{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;gap:20px;margin-bottom:30px;padding:25px}.date-selection{display:flex;flex:1 1;flex-direction:column;gap:8px}.date-selection label{color:#2c3e50;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.date-input{background:#fff;border:2px solid #e9ecef;border-radius:8px;font-family:inherit;font-size:1rem;padding:12px 15px;transition:border-color .3s ease}.date-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.extract-button{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;min-width:200px;padding:12px 30px;transition:all .3s ease}.extract-button:hover:not(:disabled){background:linear-gradient(135deg,#2980b9,#1e6fa6);box-shadow:0 4px 15px #3498db4d;transform:translateY(-2px)}.extract-button:disabled{background:#bdc3c7;box-shadow:none;cursor:not-allowed;transform:none}.extract-button.loading{background:#95a5a6}.error-message{background:#fee;border:1px solid #fadbd8;color:#c0392b;margin-bottom:20px}.results-section{margin-top:30px}.results-summary h2{font-weight:700;margin:0 0 20px}.results-message{align-items:center;background:#e8f4fd;border:1px solid #d6eaf8;border-radius:8px;color:#2980b9;display:flex;gap:10px;margin-bottom:20px;padding:15px 20px}.info-icon{font-size:1.2rem}.errors-section{background:#fef9e7;border:1px solid #f9e79f;border-radius:8px;margin-top:20px;padding:20px}.errors-section h4{color:#b7950b;font-size:1.1rem;margin:0 0 15px}.errors-list{max-height:200px;overflow-y:auto}.error-item{border-bottom:1px solid #f7dc6f;color:#7d6608;font-size:.9rem;padding:8px 0}.error-item:last-child{border-bottom:none}.summary-stats{grid-gap:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #0000001a;padding:25px}.stat-label{letter-spacing:.5px;text-transform:uppercase}.pdf-links-section h3{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0 0 20px}.pdf-links-simple{background:#fff;border:1px solid #e9ecef;border-radius:8px;max-height:500px;overflow-y:auto;padding:20px}.pdf-link-simple{border-bottom:1px solid #f8f9fa;color:#2c3e50;font-family:Courier New,monospace;font-size:14px;padding:8px 0;word-break:break-all}.pdf-link-simple:last-child{border-bottom:none}.pdf-link-simple:hover{background-color:#f8f9fa;padding-left:5px;transition:all .2s ease}.no-results{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:60px 20px;text-align:center}.no-results-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.no-results h3{color:#7f8c8d;font-size:1.5rem;margin:0 0 10px}.no-results p{color:#95a5a6;font-size:1.1rem;line-height:1.6;margin:0}@media (max-width:768px){.pdf-extractor-controls{align-items:stretch;flex-direction:column}.extract-button{min-width:auto}.summary-stats{grid-template-columns:repeat(2,1fr)}.pdf-link-actions{justify-content:center}.stat-number{font-size:2rem}}@media (max-width:480px){.summary-stats{grid-template-columns:1fr}.pdf-extractor-header h1{font-size:2rem}}.pdf-links-data{background-color:#f8f9fa;margin:0;max-width:none;min-height:100vh;padding:20px}.pdf-links-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;margin-bottom:30px;padding:30px;text-align:center}.pdf-links-header h1{font-size:2.5rem;font-weight:700;margin:0 0 10px}.pdf-links-header p{font-size:1.1rem;margin:0;opacity:.9}.pdf-links-controls{display:flex;justify-content:center;margin-bottom:30px}.get-links-button{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:10px;justify-content:center;min-width:180px;padding:15px 30px;transition:all .3s ease}.get-links-button:hover:not(:disabled){box-shadow:0 6px 12px #00000026;transform:translateY(-2px)}.get-links-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.get-links-button.loading{background:#6c757d}.spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{align-items:center;background-color:#f8d7da;border:1px solid #f1aeb5;color:#721c24;display:flex;gap:10px;margin-bottom:30px;padding:15px 20px}.error-icon{font-size:1.2rem}.pdf-links-results{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:30px}.results-summary{margin-bottom:30px}.results-summary h2{color:#2c3e50;font-size:1.8rem;margin-bottom:20px}.summary-stats{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.category-summary{margin-top:30px}.category-summary h3{color:#2c3e50;font-size:1.4rem;margin-bottom:15px}.category-table{background:#fff;border-collapse:collapse;width:100%}.category-table th{background:#f1f3f5;color:#343a40;font-size:.85rem;font-weight:600;letter-spacing:.4px;padding:12px;text-align:left;text-transform:uppercase}.category-table td{border-bottom:1px solid #e9ecef;color:#2c3e50;padding:10px 12px}.category-table tbody tr:nth-child(2n){background-color:#f8f9fa}.stat-card{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;min-width:120px;text-align:center}.stat-number{color:#1f2a37;font-size:2.5rem;font-weight:700;margin-bottom:5px}.stat-label{color:#1f2a37;font-size:.9rem;font-weight:500;opacity:.9}.pdf-links-table-container h3{color:#2c3e50;font-size:1.5rem;margin-bottom:20px}.pdf-links-split{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr;width:100%}.block-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.block-badge{background:#e9ecef;border-radius:999px;color:#495057;font-size:.85rem;font-weight:600;padding:4px 10px}.table-scroll{border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;overflow-x:auto}.pdf-links-table{background:#fff;border-collapse:collapse;table-layout:fixed;width:100%}.pdf-links-table th{background:linear-gradient(135deg,#495057,#343a40);color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:15px 12px;text-align:left;text-transform:uppercase}.pdf-links-table th:first-child{border-top-left-radius:8px;width:5%}.pdf-links-table th:nth-child(2){width:20%}.pdf-links-table th:nth-child(3){width:12%}.pdf-links-table th:nth-child(4){width:15%}.pdf-links-table th:last-child{border-top-right-radius:8px;width:48%}.pdf-links-table.with-processed th:first-child{width:6%}.pdf-links-table.with-processed th:nth-child(2){width:20%}.pdf-links-table.with-processed th:nth-child(3),.pdf-links-table.with-processed th:nth-child(4){width:12%}.pdf-links-table.with-processed th:nth-child(5){width:40%}.pdf-links-table.with-processed th:last-child{width:10%}.pdf-links-table td{border-bottom:1px solid #dee2e6;padding:12px;vertical-align:middle}.pdf-link-row:nth-child(2n){background-color:#f8f9fa}.pdf-link-row:hover{background-color:#e3f2fd}.article-id{color:#495057;font-weight:600;min-width:80px;text-align:center;width:8%}.article-title{color:#2c3e50;font-weight:500;max-width:200px;width:18%}.article-category{color:#2c3e50;font-weight:600;min-width:120px;text-transform:capitalize;width:12%}.published-date{color:#6c757d;font-size:.9rem;min-width:120px;width:14%}.pdf-link-url{color:#007bff;display:block;font-weight:500;text-decoration:none;white-space:normal;word-break:break-all}.processed-cell{min-width:110px;padding:8px 12px;text-align:center;vertical-align:middle}.processed-toggle{align-items:center;background:none;border:2px solid;border-radius:20px;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;justify-content:center;min-width:100px;padding:6px 12px;transition:all .3s ease}.processed-toggle.pending{background-color:#fef3c7;border-color:#f59e0b;color:#f59e0b}.processed-toggle.pending:hover:not(:disabled){background-color:#f59e0b;color:#fff;transform:translateY(-1px)}.processed-toggle:disabled{cursor:not-allowed;opacity:.7;transform:none}.pdf-link-url:hover{color:#0056b3;text-decoration:underline}.actions{min-width:200px}.action-button{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;margin:0 3px;padding:6px 12px;transition:all .2s ease}.open-button{background-color:#28a745;color:#fff}.open-button:hover{background-color:#218838}.copy-button{background-color:#6c757d;color:#fff}.copy-button:hover{background-color:#5a6268}.article-button{background-color:#17a2b8;color:#fff}.article-button:hover{background-color:#138496}.export-section{border-top:1px solid #dee2e6;padding-top:20px;text-align:center}.export-button{background:linear-gradient(135deg,#fd7e14,#e55a4e);border:none;border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.export-button:hover{box-shadow:0 6px 12px #00000026;transform:translateY(-2px)}.no-pdf-links{color:#6c757d;padding:60px 20px;text-align:center}.no-links-icon{font-size:4rem;margin-bottom:20px}.no-pdf-links h3{color:#495057;font-size:1.5rem;margin-bottom:15px}.no-pdf-links p{font-size:1rem;line-height:1.6;margin:10px 0}@media (max-width:768px){.pdf-links-data{padding:15px}.pdf-links-header{padding:20px}.pdf-links-header h1{font-size:2rem}.summary-stats{justify-content:center}.stat-card{min-width:100px}.stat-number{font-size:2rem}.pdf-links-table{font-size:.9rem}.pdf-links-table td,.pdf-links-table th{padding:8px 6px}.action-button{font-size:.8rem;margin:1px;padding:4px 8px}.article-title,.pdf-link{max-width:150px}}@media (max-width:480px){.summary-stats{align-items:center;flex-direction:column}.stat-card{max-width:200px;width:100%}.actions{min-width:140px}}.scheduler-container{margin:0 auto;max-width:1400px;padding:20px}.scheduler-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.scheduler-header h1{color:#333;font-size:28px;margin:0}.scheduler-status{align-items:center;background:#f0f0f0;border-radius:8px;display:flex;gap:10px;padding:10px 20px}.status-indicator{background:#ccc;border-radius:50%;height:12px;width:12px}.status-indicator.running{animation:pulse 2s infinite;background:#4caf50}.status-indicator.stopped{background:#f44336}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.scheduler-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.stat-card h3{color:#666;font-size:14px;font-weight:500;margin:0 0 15px;text-transform:uppercase}.stat-value{color:#333;font-size:32px;font-weight:700;margin-bottom:5px}.stat-label{color:#999;font-size:14px}.scheduler-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:10px;margin-bottom:20px}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:16px;padding:12px 24px;transition:all .3s}.tab-button:hover{color:#333}.tab-button.active{border-bottom-color:#2196f3;color:#2196f3}.scheduler-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.logs-controls{flex-wrap:wrap;justify-content:space-between;margin-bottom:20px}.filter-group,.logs-controls{align-items:center;display:flex;gap:10px}.filter-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px}.logs-table{border-collapse:collapse;display:block;overflow-x:auto;width:100%}.logs-table thead{background:#f5f5f5}.logs-table td,.logs-table th{border-bottom:1px solid #e0e0e0;padding:12px;text-align:left}.logs-table th{color:#666;font-size:14px;font-weight:600;white-space:nowrap}.logs-table td{color:#333;font-size:14px}.logs-table tbody tr:hover{background:#f9f9f9}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.status-badge.completed{background:#e8f5e9;color:#2e7d32}.status-badge.running{background:#e3f2fd;color:#1565c0}.status-badge.failed{background:#ffebee;color:#c62828}.job-type-badge{background:#f0f0f0;border-radius:12px;color:#666;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.config-section{max-width:800px}.config-form{gap:20px}.config-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#333;font-size:14px;font-weight:500}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px 12px}.form-group input:focus{border-color:#2196f3;outline:none}.form-help{color:#999;font-size:12px;margin-top:4px}.form-actions{display:flex;gap:10px;margin-top:20px}.btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s}.btn-primary{background:#2196f3;color:#fff}.btn-primary:hover{background:#1976d2}.btn-secondary{background:#f0f0f0;color:#666}.btn-secondary:hover{background:#e0e0e0}.btn-success{background:#4caf50;color:#fff}.btn-success:hover{background:#388e3c}.btn:disabled{cursor:not-allowed;opacity:.5}.alert{border-radius:4px;font-size:14px;margin-bottom:20px;padding:12px 16px}.alert-success{background:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32}.alert-error{background:#ffebee;border:1px solid #ffcdd2;color:#c62828}.alert-warning{background:#fff3e0;border:1px solid #ffe0b2;color:#e65100}.next-runs{background:#f9f9f9;border-radius:8px;margin-top:20px;padding:20px}.next-runs h3{color:#333;font-size:16px;margin:0 0 15px}.next-runs-list{display:flex;flex-direction:column;gap:10px}.next-run-item{background:#fff;border:1px solid #e0e0e0;border-radius:4px;display:flex;justify-content:space-between;padding:10px}.next-run-name{color:#333;font-weight:500}.next-run-time{color:#666;font-size:14px}.manual-trigger{background:#f9f9f9;border-radius:8px;margin-top:30px;padding:20px}.manual-trigger h3{color:#333;font-size:16px;margin:0 0 15px}.trigger-buttons{display:flex;flex-wrap:wrap;gap:10px}.loading{color:#999;padding:40px;text-align:center}.error-message{background:#ffebee;border-radius:8px;color:#c62828;margin:20px 0;padding:20px;text-align:center}.empty-state{color:#999;padding:40px;text-align:center}.empty-state p{font-size:14px;margin:10px 0 0}.login-page{align-items:center;background:radial-gradient(circle at top left,#3498db33,#0000 45%),radial-gradient(circle at bottom right,#2ecc712e,#0000 45%),#f0f4f8;display:flex;font-family:Space Grotesk,Segoe UI,sans-serif;justify-content:center;min-height:100vh;padding:32px}.login-card{background:#fff;border:1px solid #0f172a14;border-radius:18px;box-shadow:0 18px 50px #0f172a1f;padding:32px;width:min(420px,100%)}.login-form{gap:18px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{color:#1f2a37;font-size:14px;gap:8px}.login-field input{border:1px solid #d4d9e2;border-radius:12px;font-size:15px;padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease}.login-field input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db33;outline:none}.login-error{background:#b4231814;border-radius:10px;color:#b42318;font-size:13px;padding:10px 12px}.login-button{background:#1f2937;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 16px;transition:transform .2s ease,box-shadow .2s ease}.login-button:hover{box-shadow:0 12px 20px #1f29372e;transform:translateY(-1px)}.login-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}.change-password-page{padding:40px}.change-password-card{background:#fff;border-radius:16px;box-shadow:0 12px 30px #0f172a1f;max-width:520px;padding:28px}.change-password-card h2{color:#1f2a37;margin-bottom:20px;margin-top:0}.change-password-card form{display:flex;flex-direction:column;gap:16px}.change-password-card label{color:#1f2a37;display:flex;flex-direction:column;font-size:14px;gap:8px}.change-password-card input{border:1px solid #d4d9e2;border-radius:12px;font-size:15px;padding:12px 14px}.change-password-card input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db33;outline:none}.change-password-card button{background:#1f2937;border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;padding:12px 16px}.change-password-card button:disabled{cursor:not-allowed;opacity:.7}.change-password-success{background:#0478571f;color:#047857}.change-password-error,.change-password-success{border-radius:10px;font-size:13px;padding:10px 12px}.change-password-error{background:#b4231814;color:#b42318}.logins-container{padding:30px}.logins-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.logins-header button{background:#1f2937;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:10px 16px}.logins-header button:disabled{cursor:not-allowed;opacity:.7}.logins-error{background:#b4231814;border-radius:10px;color:#b42318;margin-bottom:16px;padding:10px 12px}.logins-loading{background:#fff;border-radius:12px;padding:40px;text-align:center}.logins-table-wrapper{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow-x:auto;padding:16px}.logins-table{border-collapse:collapse;font-size:14px;width:100%}.logins-table th{background:#f8f9fa;color:#495057;font-weight:600;padding:12px 10px;text-align:left;white-space:nowrap}.logins-table td{border-bottom:1px solid #dee2e6;padding:12px 10px}.logins-empty{color:#6b7280;padding:20px;text-align:center}.logins-agent{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logins-status{border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 10px;text-transform:uppercase}.logins-status.success{background:#10b98126;color:#047857}.logins-status.failed{background:#ef444426;color:#b91c1c}.logins-status.unknown{background:#6b728026;color:#4b5563}.app{display:flex}.app,.main-content{background-color:#f5f5f5;min-height:100vh}.main-content{flex:1 1;margin-left:250px}.page-title{color:#2c3e50;font-size:32px;font-weight:700;margin-bottom:30px}@media (max-width:768px){.main-content{margin-left:70px}.page-title{font-size:24px}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}
/*# sourceMappingURL=main.7cccf17b.css.map*/