/*!*********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/status-card.module.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************/
.status-card_card__2NAiM {
    background-color: var(--card);
    border-radius: 0.5rem;
    border: 1px solid var(--border);
    overflow: hidden;
}

.status-card_header__1aW1h {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1rem 0.5rem 1rem;
}

.status-card_title__JRiPY {
    font-size: 0.875rem;
    font-weight: 500;
}

.status-card_indicator__aT9Gr {
    height: 0.5rem;
    width: 0.5rem;
    border-radius: 9999px;
}

.status-card_online__kbUUR {
    background-color: #10b981;
}

.status-card_offline__mSERf {
    background-color: #6b7280;
}

.status-card_warning__WCNdn {
    background-color: #f59e0b;
}

.status-card_error__ELrFW {
    background-color: #ef4444;
}

.status-card_info__pWLdJ {
    background-color: #3b82f6;
}

.status-card_content__VqXGn {
    padding: 0 1rem 1rem 1rem;
}

.status-card_value__EwD2w {
    font-size: 1.5rem;
    font-weight: 700;
}

.status-card_description__BtlQm {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

/*!*******************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/page.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************/
.page_container__aoG4z {
    flex: 1;
    padding: 2rem;
    padding-top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.page_header__kVzhN {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.page_title__3jonF {
    font-size: 1.875rem;
    font-weight: 700;
    letter-spacing: -0.025em;
}

.page_statusGrid__FS1il {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px) {
    .page_statusGrid__FS1il {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .page_statusGrid__FS1il {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.page_chartsGrid__LMluf {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px) {
    .page_chartsGrid__LMluf {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .page_chartsGrid__LMluf {
        grid-template-columns: 4fr 3fr;
    }
}

.page_overviewCard__fiPPq,
.page_recentCard__lszPP,
.page_apiCreditsChartCard__agNle {
    background-color: var(--card);
    border-radius: 0.5rem;
    border: 1px solid var(--border);
    overflow: hidden;
}

.page_cardHeader__NhxBC {
    padding: 1.5rem 1.5rem 0.5rem 1.5rem;
}

.page_cardTitle__wyNTT {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.page_cardDescription__qsYh_ {
    color: var(--muted-foreground);
    font-size: 0.875rem;
}

.page_cardContent__aU4Di {
    padding: 1.5rem;
}

.page_apiCreditsSection__AVBeC {
    margin-top: 0.5rem;
}

.page_jobProgressSection__0v0Yr {
    margin-top: 0.5rem;
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/api-credits-card.module.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************/
.api-credits-card_card__AVFaR {
    background-color: var(--card);
    border-radius: 0.5rem;
    border: 1px solid var(--border);
    overflow: hidden;
    height: 100%;
}

.api-credits-card_header__zajk2 {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1rem 0.5rem 1rem;
}

.api-credits-card_title__FZbe7 {
    font-size: 0.875rem;
    font-weight: 500;
}

.api-credits-card_badge__x1l8O {
    display: inline-flex;
    align-items: center;
    border-radius: 9999px;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: white;
}

.api-credits-card_content__F648x {
    padding: 0 1rem 1rem 1rem;
}

.api-credits-card_usageText__RQtE2 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.api-credits-card_usedCredits__FRI6A {
    font-weight: 700;
}

.api-credits-card_separator__2sUiL {
    margin: 0 0.25rem;
    color: var(--muted-foreground);
}

.api-credits-card_totalCredits__S4aGi {
    color: var(--muted-foreground);
}

.api-credits-card_progressBarContainer__fsEWs {
    height: 0.5rem;
    background-color: var(--muted);
    border-radius: 9999px;
    overflow: hidden;
    margin-bottom: 0.5rem;
}

.api-credits-card_progressBar__IErK4 {
    height: 100%;
    border-radius: 9999px;
    transition: width 0.3s ease;
}

.api-credits-card_remainingText__vv5AU {
    font-size: 0.875rem;
    color: var(--muted-foreground);
    margin-top: 0.5rem;
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/api-credits-chart.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************/
.api-credits-chart_container__2fEFv {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.api-credits-chart_header__PR06c {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.api-credits-chart_title__8jLUz {
    font-size: 1.25rem;
    font-weight: 600;
}

.api-credits-chart_timeRangeSelector__zxOlB {
    display: flex;
    gap: 0.5rem;
}

.api-credits-chart_timeRangeButton__GVCgT {
    font-size: 0.875rem;
}

.api-credits-chart_chartContainer__2xl_F {
    flex: 1;
    width: 100%;
}

.api-credits-chart_footer__RmPMF {
    margin-top: 1rem;
    text-align: right;
}

.api-credits-chart_footerText__ux3y5 {
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/job-progress-card.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************/
.job-progress-card_card__US3am {
    background-color: var(--card);
    border-radius: 0.5rem;
    border: 1px solid var(--border);
    overflow: hidden;
    height: 100%;
}

.job-progress-card_header__epcIJ {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1rem 0.5rem 1rem;
}

.job-progress-card_title__4fLVa {
    font-size: 0.875rem;
    font-weight: 500;
}

.job-progress-card_badge__GQjZc {
    display: inline-flex;
    align-items: center;
    border-radius: 9999px;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 500;
    background-color: var(--primary-light);
    color: var(--primary);
}

.job-progress-card_content__dYVpN {
    padding: 0 1rem 1rem 1rem;
}

.job-progress-card_emptyState__pI8RY {
    color: var(--muted-foreground);
    font-size: 0.875rem;
    text-align: center;
    padding: 2rem 0;
}

.job-progress-card_jobsList__TjdBR {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.job-progress-card_jobItem__LO76Z {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.job-progress-card_jobInfo__LCzij {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.job-progress-card_jobName__0u3Mm {
    font-size: 0.875rem;
    font-weight: 500;
}

.job-progress-card_jobTime__vD_dO {
    font-size: 0.75rem;
    color: var(--muted-foreground);
}

.job-progress-card_progressSection__BKzV6 {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.job-progress-card_progressContainer__2ssRn {
    flex: 1;
    height: 8px;
    background-color: var(--muted);
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

.job-progress-card_progressBar__6__Mo {
    height: 100%;
    background-color: var(--primary);
    border-radius: 4px;
    transition: width 0.3s ease;
}

.job-progress-card_progressText__I3rP4 {
    font-size: 0.75rem;
    font-weight: 500;
    min-width: 2.5rem;
    text-align: right;
}

.job-progress-card_progressInnerText__e_1aS {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 0.75rem;
    font-weight: 500;
    transition: color 0.3s ease;
    white-space: nowrap;
}

