/*=====================================================
    ALP MISSION CONTROL
    dashboard.css
    Part 1
======================================================*/

:root{

    --bg:#0b1220;
    --card:#161f35;
    --card2:#1d2742;
    --border:#2c3958;

    --green:#00e676;
    --red:#ff5252;
    --yellow:#ffd600;
    --blue:#29b6f6;

    --text:#ffffff;
    --text2:#b8c2d1;

    --shadow:0 10px 30px rgba(0,0,0,.45);

}


*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{

    scroll-behavior:smooth;

}

body{

    background:var(--bg);
    color:var(--text);
    font-family:'Inter',sans-serif;

}


/************************************************
Container
************************************************/

.container{

    width:min(1500px,95%);
    margin:auto;

    padding:25px;

}


/************************************************
Header
************************************************/

.header{

    display:flex;
    justify-content:space-between;
    align-items:center;

    flex-wrap:wrap;

    margin-bottom:30px;

}

.header h1{

    font-size:34px;
    font-weight:800;

    color:white;

}

.header p{

    margin-top:8px;

    color:var(--text2);

}


/************************************************
LIVE BOX
************************************************/

.live-box{

    display:flex;

    align-items:center;

    gap:10px;

    background:#13213b;

    padding:12px 25px;

    border-radius:50px;

    border:1px solid #284066;

    font-weight:700;

    letter-spacing:1px;

}


.live-dot{

    width:14px;

    height:14px;

    border-radius:50%;

    background:var(--green);

    animation:pulse 1.2s infinite;

}


@keyframes pulse{

0%{

transform:scale(1);

opacity:1;

}

50%{

transform:scale(1.5);

opacity:.3;

}

100%{

transform:scale(1);

opacity:1;

}

}


/************************************************
TOP CARDS
************************************************/

.cards{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

    margin-bottom:30px;

}


.card{

    background:linear-gradient(145deg,var(--card),var(--card2));

    border-radius:18px;

    border:1px solid var(--border);

    padding:28px;

    box-shadow:var(--shadow);

    transition:.35s;

}


.card:hover{

    transform:translateY(-6px);

}


.card .title{

    color:var(--text2);

    font-size:16px;

    margin-bottom:22px;

    font-weight:500;

}


.card .number{

    font-size:42px;

    font-weight:800;

}


.card .sub{

    margin-top:22px;      /* was 12px */

    color:#9da8b8;

    font-size:15px;

    line-height:1.6;      /* More spacing between lines */

    letter-spacing:0.3px;

}


/************************************************
Card Borders
************************************************/

.blue{

border-top:5px solid var(--blue);

}

.green{

border-top:5px solid var(--green);

}

.yellow{

border-top:5px solid var(--yellow);

}

.red{

border-top:5px solid var(--red);

}


.progress-item:not(:last-child){
    border-bottom:1px solid #293958;
    margin-bottom:12px;
    padding-bottom:22px;
}




/************************************************
LEADERBOARD TABLE
************************************************/

.leaderboard{

    width:100%;

    border-collapse:collapse;

}

.leaderboard th{

    text-align:left;

    padding:16px 12px;      /* Header padding */

    color:var(--text2);

    font-size:15px;

    font-weight:600;

    border-bottom:1px solid #2d3a58;

}

.leaderboard td{

    padding:18px 12px;      /* Increased row padding */

    font-size:16px;

    border-bottom:1px solid #26324d;

}

.leaderboard tbody tr:last-child td{

    border-bottom:none;

}

.leaderboard tbody tr:hover{

    background:rgba(255,255,255,0.04);

}



/************************************************
LIVE ACTIVITY FEED
************************************************/

.activity-feed{

    display:flex;

    flex-direction:column;

    gap:14px;                 /* Space between items */

}

.activity-item{

    padding:18px 16px;        /* Increased padding */

    background:#1b2540;

    border:1px solid #2d3a58;

    border-radius:12px;

    font-size:15px;

    line-height:1.7;          /* Better text spacing */

    transition:.3s;

}

.activity-item:hover{

    background:#243252;

    transform:translateX(4px);

}

.activity-time{

    display:inline-block;

    min-width:65px;

    color:var(--yellow);

    font-weight:700;

    margin-right:12px;

}


/************************************************
TODAY'S INSIGHTS
************************************************/

.insight-card{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 20px;          /* Increased from ~12px */

    margin-bottom:16px;         /* More space between cards */

    background:#1b2540;

    border:1px solid #2d3a58;

    border-radius:12px;

    transition:.3s;

}

.insight-card:last-child{

    margin-bottom:0;

}

.insight-card:hover{

    background:#243252;

    transform:translateX(4px);

}


/************************************************
MISSION STATUS
************************************************/

.status-row{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:16px 18px;

    margin-bottom:12px;

    background:#1b2540;

    border:1px solid #2d3a58;

    border-radius:10px;

    transition:.3s;

}

.status-row:last-child{

    margin-bottom:0;

}

.status-row:hover{

    background:#243252;

}

.status-row:last-child{

    margin-bottom:0;

    border-bottom:none;

}

/************************************************
Status Panel
************************************************/

.status-panel{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:20px;

margin-bottom:35px;

}


.status-card{

background:var(--card);

padding:22px;

border-radius:18px;

border:1px solid var(--border);

box-shadow:var(--shadow);

}


.status-title{

color:var(--text2);

margin-bottom:15px;

font-size:15px;

}


.signal{

font-size:22px;

font-weight:700;

}


.green-text{

color:var(--green);

}

.red-text{

color:var(--red);

}

.yellow-text{

color:var(--yellow);

}

.blue-text{

color:var(--blue);

}


/************************************************
Panels
************************************************/

.panel{

background:var(--card);

border-radius:18px;

padding:25px;

margin-bottom:25px;

border:1px solid var(--border);

box-shadow:var(--shadow);

}


.panel h2{

font-size:24px;

margin-bottom:25px;

}

.panel-title{

font-size:24px;

font-weight:700;

margin-bottom:25px;

}


/************************************************
Dashboard Grid
************************************************/

.dashboard-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:25px;

margin-bottom:25px;

}


/************************************************
Footer
************************************************/

.footer{

display:flex;

justify-content:space-between;

align-items:center;

padding:25px 0;

margin-top:40px;

border-top:1px solid #293958;

color:#95a4b9;

font-size:14px;

}


/************************************************
Scroll Bar
************************************************/

::-webkit-scrollbar{

width:10px;

height:10px;

}

::-webkit-scrollbar-track{

background:#0d1628;

}

::-webkit-scrollbar-thumb{

background:#34476c;

border-radius:50px;

}

::-webkit-scrollbar-thumb:hover{

background:#506994;

}


/************************************************
Live value update pulse
(triggered briefly by dashboard.js whenever a
number actually changes on refresh)
************************************************/

.value-pulse{

    animation:value-pulse-anim .6s ease;

}

@keyframes value-pulse-anim{

0%{

color:var(--yellow);

}

100%{

color:inherit;

}

}


/*=========================================
MOBILE RESPONSIVE
=========================================*/

@media (max-width:768px){

.container{

    width:100%;
    padding:12px;

}

.header{

    flex-direction:column;
    align-items:flex-start;
    gap:15px;

}

.header h1{

    font-size:22px;
    line-height:1.3;

}

.header p{

    font-size:15px;

}

.live-box{

    padding:10px 18px;
}

.cards{

    grid-template-columns:1fr;

}

.status-panel{

    grid-template-columns:1fr 1fr;

}

.dashboard-grid{

    grid-template-columns:1fr;

}

.card{

    padding:20px;

}

.card .number{

    font-size:40px;

}

.panel{

    padding:18px;

}

.footer{

    flex-direction:column;
    gap:10px;
    text-align:center;

}

}