﻿/* particle-monthly-chart */

:root {
    /*--metal-color: #38f;*/
    /*--nonmetal-color: #a3e;*/
    --metal-color: #d47;
    --nonmetal-color: #35c;
    --yellow-color: var(--bs-warning);
    --green-color: var(--bs-success);
    --red-color: var(--bs-danger);
    --metal-color-usl: color-mix(in srgb, var(--red-color) 90%, transparent);
    --metal-color-upper: color-mix(in srgb, var(--metal-color) 90%, transparent);
    --nonmetal-color-usl: color-mix(in srgb, var(--red-color) 90%, transparent);
    --nonmetal-color-upper: color-mix(in srgb, var(--nonmetal-color) 90%, transparent);
    --yellow-alpha: color-mix(in srgb, var(--yellow-color) 10%, transparent);
    --green-alpha: color-mix(in srgb, var(--green-color) 10%, transparent);
    --red-alpha: color-mix(in srgb, var(--color) 10%, transparent);
}

#particleMonthlyTable th,
#particleMonthlyTable td {
    flex-wrap: nowrap;
    white-space: nowrap;
    padding: 1px;
    height: 30px;
    text-align: center;
    align-content: center;
    font-size: .865rem;
}

.qc-circle {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-style: solid;
    border-width: 0px;
    border-radius: 50%;
    aspect-ratio: 1;
    width: min(30px, 100%);
    font-weight: 500;
}

/* ---- Render QC cells, ok, ng, warn, circle ---- */

/* 🔴 FAIL */
.qc-fail {
    color: #fff;
    background-color: var(--red-color);
}

/* 🟡 MARGINAL */
.qc-warn {
    color: #000;
    background-color: var(--yellow-color);
}

/* ---- Particle Table: Continue ---- */

#particleMonthlyTable thead th:first-child,
#particleMonthlyTable tbody th {
    padding: 0 .5rem;
    width: 111px;
    text-align: end;
    font-size: .95rem;
}

#particleMonthlyTable thead th:not(:first-child),
#particleMonthlyTable tbody td {
    width: calc((100% - 70px) / 31);
}

.particle-table-wrap {
    overflow-x: auto;
    overflow-y: hidden;
}

.particle-grid {
    min-width: 1100px;
    padding-right: 10px;
}

#particleMonthlyTable {
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
}

.particle-chart-area {
    height: 280px;
    padding-left: 25px; /* align chart day 1 with table day 1 */
    margin-right: -8px; /* align end of chart border to end of table border */ /* make equal width to table*/
    overflow: hidden;
}

#particleMonthlyChart {
    display: block;
    width: 100% !important;
    height: 100% !important;
}

/* Optional: reuse your theme */

.text-metal,
th.text-metal {
    color: var(--metal-color);
}

.text-nonmetal,
th.text-nonmetal {
    color: var(--nonmetal-color);
}

.chart-wrap {
    position: relative;
}

.chart-title-overlay {
    position: absolute;
    bottom: 45px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: 600;
    font-size: 1.2rem;
    pointer-events: none;
    opacity: 0.85;
}

/* ---- Maximize/Restore Chart ---- */

.modal.fullscreen-modal .modal-dialog {
    position: fixed !important; /* 🔥 important */
    width: 100vw !important;
    height: 100vh !important;
    margin: 0 !important;
    left: 0 !important;
    top: 0 !important;
    transform: none !important; /* 🔥 CRITICAL FIX */
    max-width: none !important; /* 🔥 also needed */
    border: none !important;
    box-shadow: none !important;
}

.modal.fullscreen-modal .modal-content {
    height: 100vh !important;
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.modal.fullscreen-modal .modal-body {
    overflow: auto !important;
}

.modal .modal-header button.rounded-circle {
    width: 46px;
    height: 46px;
}

.modal.fullscreen-modal .particle-chart-area {
    height: calc(50vh - 130px);
}

/* ---- tooltip ---- */

.chart-tooltip {
    position: absolute;
    z-index: 9999; /* 🔥 always on top */
    pointer-events: none;
    background: #111;
    color: #fff;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 13.65px;
}




/*  =========================================================
    Practical guideline
    =========================================================
    - Because mobile devices commonly use devicePixelRatio = 2 or 3, which makes these fractional adjustments necessary.
        For this QC dashboard:
        table width : 1100px
        chart width : 1098–1100px
        Difference ≤ 2px → totally acceptable.
    - Users will never see it, but it prevents layout bugs.
    =========================================================
@media (max-width: 767.98px) {
    .particle-chart-area {
        padding-left: 51.5px;
        margin-right: -8.5px;
    }
}*/
