/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/styles/Home.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
.Home_container__9OuOz {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background-color: #f5f5f5;
}

.Home_header__ZUWxe {
  background-color: #0050ef;
  color: white;
  padding: 1.5rem 2rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.Home_header__ZUWxe h1 {
  font-size: 1.75rem;
  font-weight: 600;
  margin: 0;
}

.Home_tabs__sG3md {
  display: flex;
  background-color: white;
  border-bottom: 2px solid #e0e0e0;
  padding: 0 2rem;
  gap: 0.5rem;
}

.Home_tab__4XWq1 {
  padding: 1rem 1.5rem;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  color: #666;
  border-bottom: 3px solid transparent;
  transition: all 0.3s ease;
  font-weight: 500;
}

.Home_tab__4XWq1:hover {
  background-color: #f5f5f5;
  color: #333;
}

.Home_tabActive__PDCbr {
  color: #0050ef;
  border-bottom-color: #0050ef;
  font-weight: 600;
}

.Home_main__2uIek {
  flex: 1 1;
  padding: 2rem;
}

.Home_content__Qnbja {
  background-color: white;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  min-height: 400px;
}

.Home_content__Qnbja h2 {
  color: #333;
  font-size: 1.5rem;
  font-weight: 600;
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/app/screener/Screener.module.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
.Screener_screener__EoYXx {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  height: 100%;
}

.Screener_controls__9Y286 {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
}

.Screener_select__RaXDh {
  padding: 0.5rem 1rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 1rem;
  background-color: #ddeeff;
  color: #666;
  cursor: pointer;
  min-width: 150px;
}

.Screener_select__RaXDh:hover {
  border-color: #0050ef;
}

.Screener_btnPrimary__gx3E6 {
  padding: 0.75rem 1.5rem;
  background-color: #0050ef;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
}

.Screener_btnPrimary__gx3E6:hover {
  background-color: #0040cc;
}

.Screener_btnPrimary__gx3E6:active {
  transform: scale(0.98);
}

.Screener_tableContainer__PzdeD {
  flex: 1 1;
  overflow: auto;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background-color: white;
  display: flex;
  flex-direction: column;
}

.Screener_emptyState__3iX0H,
.Screener_loadingState__xkKC4 {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  font-size: 1.1rem;
  padding: 3rem;
  text-align: center;
}

.Screener_loadingState__xkKC4 {
  color: #0050ef;
  font-weight: 500;
}

.Screener_resultsCount__eOxpn {
  padding: 0.75rem 1rem;
  background-color: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  font-weight: 600;
  color: #333;
}

.Screener_table__bkZaG {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.Screener_table__bkZaG thead {
  background-color: #f8f9fa;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1;
}

.Screener_table__bkZaG th {
  padding: 0.75rem;
  text-align: left;
  font-weight: 600;
  color: #333;
  border-bottom: 2px solid #e0e0e0;
  white-space: nowrap;
  font-size: 0.85rem;
}

.Screener_table__bkZaG tbody tr {
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.15s;
}

.Screener_table__bkZaG tbody tr:hover {
  background-color: #f8f9fa;
}

.Screener_table__bkZaG td {
  padding: 0.75rem;
  vertical-align: middle;
}

/* Colonnes spécifiques */
.Screener_symbolCell__gvQUo {
  font-weight: bold;
  color: #0050ef;
}

.Screener_descriptionCell__k4tch {
  max-width: 250px;
  white-space: normal;
}

.Screener_numberCell__aitsb {
  text-align: right;
  font-family: 'Courier New', monospace;
}

.Screener_rankCell__TID40 {
  text-align: center;
  font-weight: 600;
  padding: 0.5rem;
}

.Screener_globalRank__vyasr {
  font-weight: 700;
  font-size: 1rem;
}

/* Classes de couleur pour les ranks */
.Screener_rankGreenDark__aeQR_ {
  background-color: #28a745;
  color: white;
}

.Screener_rankGreenLight__8dxb0 {
  background-color: #a8e6a1;
  color: #155724;
}

.Screener_rankGray__1R9XJ {
  background-color: #e0e0e0;
  color: #333;
}

.Screener_rankRedLight__A_Lat {
  background-color: #f8d7da;
  color: #721c24;
}

.Screener_rankRedDark__YZiz1 {
  background-color: #dc3545;
  color: white;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/components/ConfigModal.module.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************/
.ConfigModal_overlay__bbmzx {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.ConfigModal_modal__19WaV {
  background: white;
  border-radius: 8px;
  width: 90%;
  max-width: 600px;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.ConfigModal_header__LIHhL {
  padding: 1.5rem;
  border-bottom: 1px solid #e0e0e0;
  background-color: #0050ef;
  border-radius: 8px 8px 0 0;
}

.ConfigModal_header__LIHhL h3 {
  margin: 0;
  color: white;
  font-size: 1.25rem;
  font-weight: 600;
}

.ConfigModal_content__AF8IX {
  padding: 1.5rem;
  overflow-y: auto;
  flex: 1 1;
}

.ConfigModal_criterionGroup__JB_I4 {
  margin-bottom: 1rem;
}

.ConfigModal_logicalOperator__N1_IC {
  margin: 0.5rem 0;
  padding: 0.25rem 0.5rem;
  color: #0050ef;
  font-weight: 600;
  font-size: 0.9rem;
  text-align: left;
}

.ConfigModal_criterion__0RAjQ {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

.ConfigModal_select__xTLCL {
  flex: 2 1;
  padding: 0.5rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 1rem;
  background-color: #ddeeff;
}

.ConfigModal_selectOperator__54bAK {
  flex: 0.5 1;
  padding: 0.5rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 1rem;
  background-color: #ddeeff;
}

.ConfigModal_input__bwlh_ {
  flex: 2 1;
  padding: 0.5rem;
  border: 1px solid #666;
  border-radius: 4px;
  font-size: 1rem;
}

.ConfigModal_btnRemove__WANV6 {
  width: 32px;
  height: 32px;
  border: none;
  background-color: #dc3545;
  color: white;
  border-radius: 4px;
  font-size: 1.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.ConfigModal_btnRemove__WANV6:hover {
  background-color: #c82333;
}

.ConfigModal_btnAdd__6fu2V {
  margin-top: 1rem;
  padding: 0.5rem 1rem;
  background-color: #0050ef;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 0.9rem;
  cursor: pointer;
  font-weight: 500;
}

.ConfigModal_btnAdd__6fu2V:hover {
  background-color: #0040cc;
}

.ConfigModal_footer__o9yPp {
  padding: 1.5rem;
  border-top: 1px solid #e0e0e0;
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.ConfigModal_btnPrimary__ftnZt {
  padding: 0.75rem 2rem;
  background-color: #0050ef;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
}

.ConfigModal_btnPrimary__ftnZt:hover {
  background-color: #0040cc;
}

.ConfigModal_btnSecondary__TSPhW {
  padding: 0.75rem 2rem;
  background-color: #6c757d;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
}

.ConfigModal_btnSecondary__TSPhW:hover {
  background-color: #5a6268;
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/components/SaveScreenerModal.module.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************/
.SaveScreenerModal_overlay__EYDHF {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.SaveScreenerModal_modal__A249D {
  background: white;
  border-radius: 8px;
  width: 90%;
  max-width: 400px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.SaveScreenerModal_header__MiWdX {
  padding: 1.5rem;
  border-bottom: 1px solid #e0e0e0;
  background-color: #0050ef;
  border-radius: 8px 8px 0 0;
}

.SaveScreenerModal_header__MiWdX h3 {
  margin: 0;
  color: white;
  font-size: 1.25rem;
  font-weight: 600;
}

.SaveScreenerModal_content__QBiX4 {
  padding: 1.5rem;
}

.SaveScreenerModal_input__UVJz2 {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #666;
  border-radius: 4px;
  font-size: 1rem;
}

.SaveScreenerModal_footer__KSYau {
  padding: 1.5rem;
  border-top: 1px solid #e0e0e0;
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.SaveScreenerModal_btnPrimary__pDHOh {
  padding: 0.75rem 2rem;
  background-color: #0050ef;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
}

.SaveScreenerModal_btnPrimary__pDHOh:hover {
  background-color: #0040cc;
}

.SaveScreenerModal_btnSecondary__SZP1S {
  padding: 0.75rem 2rem;
  background-color: #6c757d;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
}

.SaveScreenerModal_btnSecondary__SZP1S:hover {
  background-color: #5a6268;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/components/DeleteScreenerModal.module.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************/
.DeleteScreenerModal_overlay__K9Xrb {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.DeleteScreenerModal_modal__mtWS4 {
  background: white;
  border-radius: 8px;
  width: 90%;
  max-width: 400px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.DeleteScreenerModal_header__ejY4a {
  padding: 1.5rem;
  border-bottom: 1px solid #e0e0e0;
  background-color: #0050ef;
  border-radius: 8px 8px 0 0;
}

.DeleteScreenerModal_header__ejY4a h3 {
  margin: 0;
  color: white;
  font-size: 1.25rem;
  font-weight: 600;
}

.DeleteScreenerModal_content__Bp4J8 {
  padding: 1.5rem;
  text-align: center;
}

.DeleteScreenerModal_content__Bp4J8 p {
  margin: 0;
  color: #333;
  font-size: 1rem;
  line-height: 1.5;
}

.DeleteScreenerModal_footer__aRGI2 {
  padding: 1.5rem;
  border-top: 1px solid #e0e0e0;
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.DeleteScreenerModal_btnDanger__S9lKA {
  padding: 0.75rem 2rem;
  background-color: #dc3545;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
}

.DeleteScreenerModal_btnDanger__S9lKA:hover {
  background-color: #c82333;
}

.DeleteScreenerModal_btnSecondary__I5Ye_ {
  padding: 0.75rem 2rem;
  background-color: #6c757d;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
}

.DeleteScreenerModal_btnSecondary__I5Ye_:hover {
  background-color: #5a6268;
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/components/ExchangeSelector.module.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************/
.ExchangeSelector_container__L_yBO {
  position: relative;
  display: inline-block;
}

.ExchangeSelector_trigger___YQtw {
  padding: 0.5rem 1rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 1rem;
  background-color: #ddeeff;
  color: #666;
  cursor: pointer;
  min-width: 150px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
}

.ExchangeSelector_trigger___YQtw:hover:not(:disabled) {
  border-color: #0050ef;
}

.ExchangeSelector_trigger___YQtw:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.ExchangeSelector_arrow__BcCgk {
  font-size: 0.7rem;
  color: #0050ef;
}

.ExchangeSelector_dropdown__umirr {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 0.25rem;
  background: white;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  min-width: 200px;
  max-height: calc(5 * 3rem); /* 5 items visible at ~3rem per item */
  overflow-y: auto;
  z-index: 1000;
}

.ExchangeSelector_option__6W8Hi {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  cursor: pointer;
  transition: background-color 0.15s;
}

.ExchangeSelector_option__6W8Hi:hover {
  background-color: #f8f9fa;
}

.ExchangeSelector_option__6W8Hi:not(:last-child) {
  border-bottom: 1px solid #f0f0f0;
}

.ExchangeSelector_checkbox___BXuu {
  cursor: pointer;
  width: 16px;
  height: 16px;
}

.ExchangeSelector_option__6W8Hi span {
  flex: 1 1;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.ExchangeSelector_error__6renM {
  padding: 0.75rem 1rem;
  background-color: #fff3cd;
  color: #856404;
  border-bottom: 1px solid #f0f0f0;
  font-size: 0.875rem;
}

.ExchangeSelector_exchangeName___o9bd {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.ExchangeSelector_country__54n41 {
  font-size: 0.875rem;
  color: #999;
}

