:root { --primary-color: #8ab4f8; --secondary-color: #181a20; --accent-color: #4285f4; --text-color: #e8eaed; --light-text: #b0b5bd; --error-color: #ff6d6d; --success-color: #34e89e; --border-color: #282b33; --shadow-color: rgba(0, 0, 0, 0.7); } /* Section Popup */ .section-popup { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(24, 26, 32, 0.85); /* Plus foncé, légèrement opaque */ z-index: 1000; overflow: auto; } .section-popup-content { position: relative; background-color: #23262f; width: 80%; max-width: 800px; margin: 50px auto; padding: 30px; border-radius: 8px; box-shadow: 0 4px 15px var(--shadow-color); animation: popupFadeIn 0.3s; } @keyframes popupFadeIn { from { opacity: 0; transform: translateY(-20px);} to { opacity: 1; transform: translateY(0);} } /* Popup header */ .popup-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid var(--border-color); } .popup-header h2 { font-size: 22px; font-weight: 500; color: var(--text-color); } .close-popup { font-size: 28px; font-weight: bold; color: var(--light-text); cursor: pointer; transition: color 0.3s; } .close-popup:hover { color: var(--primary-color); } /* Popup Textareas */ .popup-textareas { display: flex; flex-direction: column; gap: 20px; overflow-y: auto; padding-right: 10px; } .textarea-container { display: flex; flex-direction: column; gap: 8px; } .textarea-container p { width: 100%; padding: 12px 16px; border: 1px solid #383b44; border-radius: 4px; font-size: 16px; font-family: 'Roboto', sans-serif; background-color: #181a20; color: var(--text-color); resize: vertical; outline: none; } /* Boutons de copie */ .copy-btn { align-self: flex-end; background-color: var(--secondary-color); color: var(--primary-color); border: 1px solid var(--border-color); border-radius: 4px; padding: 8px 16px; font-size: 14px; font-weight: 500; cursor: pointer; transition: background-color 0.3s; } .copy-btn:hover { background-color: #23262f; } .copy-all-btn { display: block; width: 100%; background-color: var(--primary-color); color: #181a20; border: none; border-radius: 4px; padding: 12px 24px; font-size: 16px; font-weight: 500; cursor: pointer; transition: background-color 0.3s; margin-top: 20px; } .copy-all-btn:hover { background-color: var(--accent-color); color: #fff; } /* Filtres */ .filter-tab-container { margin-top: 20px; margin-bottom: 15px; } .filter-toggle-btn { background: #487bbd; color: #fff; border: none; border-radius: 4px 4px 0 0; padding: 8px 14px; cursor: pointer; font-size: 16px; display: flex; align-items: center; gap: 5px; transition: background 0.3s; box-shadow: 0 2px 4px rgba(64, 122, 212, 0.1); } .filter-toggle-btn:hover { background: #305070; } .filters-row { display: flex; gap: 12px; align-items: center; background: #181a20; padding: 13px 14px; border: 1px solid #23262f; border-top: none; border-radius: 0 0 4px 4px; margin: 0; margin-top: -1px; box-shadow: 0 2px 4px rgba(44, 82, 130, 0.10); } .filter-input, .filter-select { padding: 7px 10px; border: 1px solid #23262f; border-radius: 4px; background: #23262f; color: #e8eaed; font-size: 15px; } .filter-checkbox-label { display: flex; align-items: center; gap: 7px; font-size: 15px; color: #8ab4f8; margin: 0; } .filter-checkbox { accent-color: #8ab4f8; } /* Responsive et global */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Roboto', sans-serif; background-color: var(--secondary-color); color: var(--text-color); line-height: 1.6; } .container { max-width: 1200px; margin: 0 auto; padding: 20px; } header { background-color: #23262f; box-shadow: 0 2px 10px var(--shadow-color); padding: 20px 0; position: sticky; top: 0; z-index: 100; } .input-field input.filter-input{ flex: none; padding: 7px 10px; border: 1px solid #23262f; border-radius: 4px; background: #23262f; color: #e8eaed; font-size: 15px; } .header-content { display: flex; align-items: center; justify-content: space-between; } .logo { display: flex; align-items: center; } .logo img { height: 40px; margin-right: 10px; } .logo h1 { font-size: 24px; font-weight: 500; color: var(--primary-color); } .search-container { background-color: #23262f; border-radius: 8px; box-shadow: 0 4px 15px var(--shadow-color); padding: 30px; margin-top: 30px; } .search-header { margin-bottom: 20px; } .search-header h2 { font-size: 22px; font-weight: 500; color: var(--text-color); margin-bottom: 10px; } .search-header p { color: var(--light-text); font-size: 16px; } .search-form { display: flex; flex-direction: column; gap: 20px; } .input-group { display: flex; flex-direction: column; gap: 8px; } .input-group label { font-size: 14px; font-weight: 500; color: var(--light-text); } .input-field { display: flex; gap: 10px; } .input-field input { flex: 1; padding: 12px 16px; border: 1px solid var(--border-color); border-radius: 4px; font-size: 16px; background: #181a20; color: var(--text-color); outline: none; transition: border-color 0.3s; } .input-field input:focus { border-color: var(--primary-color); box-shadow: 0 0 0 2px rgba(138, 180, 248, 0.15); } .btn { background-color: var(--primary-color); color: #181a20; border: none; border-radius: 4px; padding: 12px 24px; font-size: 16px; font-weight: 500; cursor: pointer; transition: background-color 0.3s; } .btn:hover { background-color: var(--accent-color); color: #fff; } .search-mode { display: flex; gap: 20px; margin-bottom: 20px; } .search-mode button { background: none; border: none; font-size: 16px; font-weight: 500; color: var(--light-text); padding: 8px 16px; cursor: pointer; border-bottom: 2px solid transparent; transition: all 0.3s; } .search-mode button.active { color: var(--primary-color); border-bottom: 2px solid var(--primary-color); } .batch-input, .keyword-input, .experimental-input { display: none; } .batch-input textarea { width: 100%; height: 120px; padding: 12px 16px; border: 1px solid var(--border-color); border-radius: 4px; font-size: 16px; font-family: 'Roboto', sans-serif; resize: vertical; outline: none; background: #181a20; color: var(--text-color); } .batch-input textarea:focus { border-color: var(--primary-color); box-shadow: 0 0 0 2px rgba(138, 180, 248, 0.15); } .batch-input .hint { font-size: 14px; color: var(--light-text); margin-top: 8px; } .results-container { margin-top: 30px; background-color: #23262f; border-radius: 8px; box-shadow: 0 4px 15px var(--shadow-color); padding: 30px; display: none; } .results-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid var(--border-color); } .results-header h2 { font-size: 22px; font-weight: 500; } .results-stats { color: var(--light-text); font-size: 14px; } .results-list { display: flex; flex-direction: column; gap: 15px; } .result-item { padding: 15px; border: 1px solid var(--border-color); border-radius: 8px; background: #181a20; transition: box-shadow 0.3s; } .result-item:hover { box-shadow: 0 4px 8px var(--shadow-color); } .result-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; } .result-id { font-weight: 500; font-size: 18px; color: var(--primary-color); } .result-status { font-size: 14px; padding: 4px 12px; border-radius: 12px; } .status-found { background-color: rgba(52, 232, 158, 0.1); color: var(--success-color); } .status-not-found { background-color: rgba(255, 109, 109, 0.1); color: var(--error-color); } .result-url { word-break: break-all; margin-top: 10px; } .result-url a { color: var(--primary-color); text-decoration: none; transition: color 0.3s; } .result-url a:hover { text-decoration: underline; } .loader { display: none; text-align: center; padding: 20px; } .spinner { border: 4px solid rgba(255, 255, 255, 0.1); border-radius: 50%; border-top: 4px solid var(--primary-color); width: 40px; height: 40px; animation: spin 1s linear infinite; margin: 0 auto; } @keyframes spin { 0% { transform: rotate(0deg);} 100% { transform: rotate(360deg);} } .error-message { background-color: rgba(255, 109, 109, 0.1); color: var(--error-color); padding: 15px; border-radius: 4px; margin-top: 20px; display: none; } footer { text-align: center; padding: 30px 0; margin-top: 50px; color: var(--light-text); font-size: 14px; } @media (max-width: 768px) { .header-content { flex-direction: column; gap: 15px; } .input-field { flex-direction: column; } .search-mode { overflow-x: auto; padding-bottom: 5px; } }