* {
    box-sizing: border-box;
}


body {

    margin: 0;

    font-family: Arial, sans-serif;

    color: white;

    background: #07140e;

    min-height: 100vh;
}


/* =========================================
   BACKGROUND
========================================= */

.slideshow,
.overlay {

    position: fixed;

    inset: 0;

    z-index: -2;
}


.slideshow {

    background-image: url("galana-station.jpeg");

    background-size: cover;

    background-position: center;

    animation: slideImages 12s infinite;

    transition: 1s;
}


.overlay {

    z-index: -1;

    background:

        linear-gradient(

            135deg,

            rgba(0, 25, 15, 0.90),

            rgba(0, 0, 0, 0.55)

        );
}


@keyframes slideImages {

    0%,
    45% {

        background-image:

            url("galana-station.jpeg");

    }


    50%,
    95% {

        background-image:

            url("attendant.jpeg");

    }


    100% {

        background-image:

            url("galana-station.jpeg");

    }

}



/* =========================================
   HEADER
========================================= */

header {

    padding: 20px 6%;

    display: flex;

    justify-content: space-between;

    align-items: center;
}


.brand {

    font-size: 30px;

    font-weight: 900;

    letter-spacing: 1px;
}


.brand span {

    color: #f7b500;
}


.brand small {

    display: block;

    font-size: 10px;

    letter-spacing: 3px;

    color: #ddd;
}



/* =========================================
   MAIN
========================================= */

.shell {

    max-width: 1200px;

    margin: 20px auto;

    padding: 0 20px;
}



/* =========================================
   CARD
========================================= */

.card {

    background:

        rgba(9, 24, 17, 0.94);

    border:

        1px solid

        rgba(255, 255, 255, 0.13);

    border-radius: 18px;

    padding: 24px;

    margin-bottom: 18px;

    box-shadow:

        0 18px 50px

        rgba(0, 0, 0, 0.35);
}


.login-card {

    max-width: 480px;

    margin: 7vh auto;
}



/* =========================================
   TEXT
========================================= */

.muted {

    color: #c7d0ca;
}


.tiny {

    color: #bfc7c1;

    font-size: 12px;

    line-height: 1.5;
}


.error {

    color: #ff7777;

    font-weight: bold;
}



/* =========================================
   FORMS
========================================= */

label {

    display: block;

    margin-top: 14px;

    margin-bottom: 6px;

    font-weight: bold;
}


input,
select {

    width: 100%;

    padding: 13px;

    border-radius: 9px;

    border:

        1px solid #607068;

    background: #f5f5f5;

    color: black;

    font-size: 15px;
}



/* =========================================
   BUTTONS
========================================= */

.primary,
.danger,
.secondary,
.tab {

    border: none;

    border-radius: 9px;

    padding: 13px 17px;

    font-weight: bold;

    cursor: pointer;

    margin-top: 18px;
}


.primary {

    background: #f7b500;

    color: black;

    width: 100%;
}


.primary:hover {

    background: #ffd34d;
}


.secondary {

    background: #344a3c;

    color: white;

    width: auto;
}


.danger {

    background: #b71c1c;

    color: white;
}


.danger:hover {

    background: #e53935;
}



/* =========================================
   TABS
========================================= */

.tabs {

    display: flex;

    gap: 8px;

    margin: 20px 0;
}


.tab {

    margin: 0;

    background: #23352b;

    color: white;

    flex: 1;
}


.tab.active {

    background: #f7b500;

    color: black;
}



/* =========================================
   HIDDEN
========================================= */

.hidden {

    display: none !important;
}



/* =========================================
   DASHBOARD
========================================= */

.dashboard-head {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 20px;

    margin-bottom: 20px;
}


.grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 18px;
}



/* =========================================
   PAYBILL
========================================= */

.paybill-box {

    background: #122d20;

    border-left:

        5px solid #f7b500;

    padding: 15px;

    margin: 12px 0;

    border-radius: 8px;

    font-size: 16px;
}



/* =========================================
   LIVE STATUS
========================================= */

.status {

    padding: 14px;

    border-radius: 9px;

    margin-bottom: 12px;

    font-weight: bold;
}


.idle {

    background: #27352e;
}


.pending {

    background: #745600;
}


.success {

    background: #126b39;
}


.failed {

    background: #8a2020;
}



/* =========================================
   MESSAGES
========================================= */

.messages {

    max-height: 270px;

    overflow-y: auto;
}


.message {

    padding: 10px;

    border-bottom:

        1px solid #2d4236;

    font-size: 14px;
}



/* =========================================
   TABLES
========================================= */

.history {

    overflow-x: auto;
}


table {

    width: 100%;

    border-collapse: collapse;

    min-width: 650px;
}


th,
td {

    padding: 12px;

    text-align: left;

    border-bottom:

        1px solid #294033;
}



/* =========================================
   ADMIN ROWS
========================================= */

.pump-row {

    display: grid;

    grid-template-columns:

        1fr
        1fr
        1.5fr
        auto;

    gap: 12px;

    align-items: center;

    padding: 14px;

    border-bottom:

        1px solid #294033;
}


.pump-row input {

    margin: 0;
}


.small-btn {

    margin: 0;

    width: auto;

    padding: 10px;
}



/* =========================================
   SEARCH
========================================= */

.search-grid {

    display: grid;

    grid-template-columns:

        1fr
        1fr
        1fr;

    gap: 15px;

    align-items: end;
}


.search-button-area {

    display: flex;

    align-items: end;
}


.search-button-area button {

    margin-bottom: 0;
}


.search-results {

    margin-top: 20px;

    overflow-x: auto;
}


.history-card {

    background:

        rgba(20, 48, 32, 0.8);

    border-left:

        4px solid #f7b500;

    padding: 15px;

    margin-top: 12px;

    border-radius: 8px;
}


.active-record {

    color: #5cff8a;

    font-weight: bold;
}


.closed-record {

    color: #ffd35c;

    font-weight: bold;
}



/* =========================================
   SESSION BADGE
========================================= */

#sessionBadge {

    background: #123a25;

    padding: 9px 13px;

    border-radius: 30px;

    font-weight: bold;
}



/* =========================================
   MODAL
========================================= */

.modal {

    position: fixed;

    inset: 0;

    background:

        rgba(0, 0, 0, 0.70);

    display: grid;

    place-items: center;
}


.modal-box {

    background: #112219;

    padding: 28px;

    border-radius: 16px;

    max-width: 420px;

    width: 90%;
}



/* =========================================
   MOBILE
========================================= */

@media (max-width: 750px) {

    .grid {

        grid-template-columns: 1fr;
    }


    .search-grid {

        grid-template-columns: 1fr;
    }


    .dashboard-head {

        flex-direction: column;

        align-items: flex-start;
    }


    .pump-row {

        grid-template-columns: 1fr;
    }


    .brand {

        font-size: 23px;
    }

}