/* ==========================================================
   CPSAP
   Global Design System
========================================================== */

:root{

    --primary:#7DFF42;
    --secondary:#14D9A5;

    --bg:#071A17;

    --card:#102824;

    --card-hover:#17352F;

    --border:#21433B;

    --white:#FFFFFF;

    --text:#DCE5E2;

    --muted:#8D9A95;

    --shadow:0 15px 45px rgba(0,0,0,.25);

    --radius:18px;

    --transition:.35s ease;

    --container:1280px;

}


/* Reset */

*{

margin:0;

padding:0;

box-sizing:border-box;

}


html{

scroll-behavior:smooth;

}


body{

background:var(--bg);

font-family:Inter,sans-serif;

color:var(--text);

line-height:1.7;

overflow-x:hidden;

}


/* Typography */

h1,h2,h3,h4{

font-family:"Space Grotesk",sans-serif;

font-weight:700;

color:white;

}

h1{

font-size:64px;

line-height:1.05;

}

h2{

font-size:48px;

margin-bottom:25px;

}

h3{

font-size:28px;

}

p{

color:var(--muted);

}


/* Layout */

.container{

max-width:var(--container);

margin:auto;

padding:0 30px;

}

section{

padding:120px 0;

}


/* Buttons */

.btn{

display:inline-flex;

align-items:center;

justify-content:center;

padding:14px 30px;

border-radius:10px;

text-decoration:none;

font-weight:700;

transition:var(--transition);

cursor:pointer;

}

.btn-primary{

background:var(--primary);

color:#071A17;

}

.btn-primary:hover{

transform:translateY(-4px);

box-shadow:0 10px 30px rgba(125,255,66,.35);

}

.btn-secondary{

border:1px solid var(--border);

color:white;

}

.btn-secondary:hover{

background:var(--card);

}


/* Cards */

.card{

background:var(--card);

border:1px solid var(--border);

border-radius:var(--radius);

padding:40px;

transition:var(--transition);

}

.card:hover{

transform:translateY(-8px);

background:var(--card-hover);

}


/* Grid */

.grid{

display:grid;

gap:30px;

}


/* Images */

img{

max-width:100%;

display:block;

}


/* Links */

a{

text-decoration:none;

}


/* Responsive */

@media(max-width:992px){

h1{

font-size:46px;

}

h2{

font-size:36px;

}

section{

padding:80px 0;

}

}


@media(max-width:768px){

.container{

padding:0 20px;

}

h1{

font-size:38px;

}

h2{

font-size:30px;

}

}

/*=========================================
Hero Dashboard
=========================================*/

.hero-dashboard{

display:flex;

justify-content:center;

align-items:center;

}

.dashboard-window{

width:100%;

max-width:620px;

background:var(--card);

border:1px solid var(--border);

border-radius:22px;

padding:28px;

box-shadow:var(--shadow);

}

.window-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:30px;

}

.window-title{

display:flex;

align-items:center;

gap:10px;

font-weight:700;

}

.window-title i{

color:var(--primary);

}

.window-status{

display:flex;

align-items:center;

gap:8px;

font-size:13px;

color:var(--muted);

}

.dot{

    position:relative;

    width:10px;
    height:10px;

    background:#7DFF42;

    border-radius:50%;

}

.dot::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:50%;

    background:#7DFF42;

    animation:ripple 2.5s infinite;

}

@keyframes ripple{

    0%{
        transform:scale(1);
        opacity:.8;
    }

    100%{
        transform:scale(3);
        opacity:0;
    }

}
/*
.dot{

width:10px;

height:10px;

border-radius:50%;

background:#7DFF42;

box-shadow:0 0 10px #7DFF42;

}


.dashboard-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:20px;

}
*/

.dashboard-grid{
    display:grid;
    grid-template-columns:repeat(2, 250px);
    grid-template-rows:repeat(2, 250px);
    gap:24px;
    justify-content:center;
}

.widget{

background:#16312b;

border:1px solid rgba(255,255,255,.05);

border-radius:18px;

padding:22px;

transition:.3s;

}

.widget:hover{

transform:translateY(-4px);

}

.widget h4{

margin-bottom:18px;

font-size:17px;

}

.donut{

    width:120px;
    height:120px;
    margin-bottom:18px;
    border-radius:50%;

    background:
    conic-gradient(

        #7DFF42   0deg   215deg,   /* Schedule Health */

        #00C2FF   215deg 290deg,   /* Activities */

        #FFC107   290deg 335deg,   /* Float */

        #EF5350   335deg 360deg    /* Risk */

    );

    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;

}

.donut::before{

content:"";

position:absolute;

width:82px;

height:82px;

background:#16312b;

border-radius:50%;

}

.donut span{

position:relative;

font-size:28px;

font-weight:700;

color:white;

z-index:2;

}

.histogram{

height:130px;

display:flex;

align-items:flex-end;

justify-content:space-between;

}

.bar{

width:20px;

border-radius:8px 8px 0 0;

}

.b1{height:45px;background:#4FC3F7;}
.b2{height:70px;background:#FFD54F;}
.b3{height:95px;background:#FF9800;}
.b4{height:118px;background:#7DFF42;}
.b5{height:82px;background:#EF5350;}

.kpi-row{

display:flex;

justify-content:space-between;

padding:10px 0;

border-bottom:1px solid rgba(255,255,255,.08);

}

.kpi-row:last-child{

border:none;

}

.success{

color:#7DFF42;

}

.warning{

color:#FFC857;

}

.ai-widget i{

color:var(--primary);

margin-right:8px;

}

.ai-box{

margin-top:20px;

padding:15px;

background:#1E433A;

border-radius:12px;

text-align:center;

}

.ai-box strong{

display:block;

margin-top:8px;

font-size:28px;

color:var(--primary);

}


/* ==========================================================
   Navigation
========================================================== */

.header{

position:sticky;

top:0;

z-index:1000;

background:rgba(7,26,23,.88);

backdrop-filter:blur(18px);

border-bottom:1px solid rgba(255,255,255,.05);

}


.nav{

height:110px;

display:flex;

align-items:center;

justify-content:space-between;

}

.logo{

    display:flex;

    align-items:center;

    gap:16px;

    color:#fff;

}

.logo img{

    width:90px;

    height:90px;
    object-fit:contain;

    flex-shrink:0;

}

.logo-text{

    display:flex;

    flex-direction:column;

    line-height:1.05;

}

.logo-title{

    font-family:"Space Grotesk",sans-serif;

    font-size:16px;

    font-weight:400;

    color:#fff;

    letter-spacing:.5px;

}

.logo-subtitle{

    font-family:Inter,sans-serif;

    font-size:13px;

    font-weight:600;

    color:var(--muted);

    letter-spacing:3px;

    text-transform:uppercase;

}


.nav-links{

display:flex;

gap:38px;

list-style:none;

}


.nav-links a{

color:var(--text);

font-weight:500;

position:relative;

transition:.3s;

}


.nav-links a:hover{

color:white;

}


.nav-links a::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

width:0;

height:2px;

background:var(--primary);

transition:.3s;

}


.nav-links a:hover::after,

.nav-links .active::after{

width:100%;

}


.nav-links .active{

color:white;

}


@media(max-width:992px){

.nav-links{

display:none;

}

}

/*======================================================
 HERO
======================================================*/

.hero{

padding:90px 0 140px;

}

.hero-grid{

display:grid;

grid-template-columns:1.1fr .9fr;

align-items:center;

gap:80px;

}

.hero-tag{

display:inline-block;

margin-bottom:18px;

letter-spacing:3px;

font-size:12px;

font-weight:700;

color:var(--primary);

}

.highlight{

color:var(--primary);

}

.hero p{

margin:35px 0;

max-width:620px;

font-size:20px;

}

.hero-buttons{

display:flex;

gap:20px;

margin-top:45px;

}

.hero-dashboard{

display:flex;

justify-content:center;

}

.dashboard-card{

background:var(--card);

border:1px solid var(--border);

padding:40px;

border-radius:20px;

width:100%;

max-width:430px;

box-shadow:var(--shadow);

}

.dashboard-header{

margin-bottom:25px;

}

.dashboard-row{

display:flex;

justify-content:space-between;

padding:18px 0;

border-bottom:1px solid rgba(255,255,255,.08);

}

.dashboard-row:last-child{

border:none;

}

.success{

color:#6CFF3C;

}

.warning{

color:#FFC857;

}

/*======================================================
 STATS
======================================================*/

.stats{

padding:0 0 120px;

}

.stats-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

text-align:center;

}

.stats .card h2{

font-size:52px;

color:var(--primary);

margin-bottom:10px;

}
/*======================================================
FOOTER
======================================================*/

.footer{

margin-top:140px;

padding:90px 0 30px;

background:#061512;

border-top:1px solid rgba(255,255,255,.05);

}

.footer-grid{

display:grid;

grid-template-columns:2fr 1fr 1fr 1fr;

gap:70px;

}

.footer-company img{

width:75px;

margin-bottom:25px;

}

.footer-company h3{

font-size:24px;

margin-bottom:20px;

line-height:1.3;

}

.footer-company p{

max-width:360px;

}

.footer h4{

font-size:20px;

margin-bottom:25px;

color:white;

}

.footer ul{

list-style:none;

padding:0;

}

.footer li{

margin-bottom:16px;

color:var(--muted);

}

.footer a{

color:var(--muted);

transition:.3s;

}

.footer a:hover{

color:var(--primary);

}

.footer i{

margin-right:12px;

color:var(--primary);

}

.footer-bottom{

margin-top:70px;

padding-top:25px;

border-top:1px solid rgba(255,255,255,.08);

text-align:center;

}

.footer-bottom p{

font-size:14px;

}

/*======================================================
SOCIAL ICONS
======================================================*/

.social-icons{

    display:flex;

    gap:18px;

    margin-top:30px;

}

.social-icons a{

    width:38px;

    height:38px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#143129;

    border:2px solid rgba(125,255,66,.15);

    color:#A9B4AF;

    font-size:18px;

    transition:all .35s ease;

}

.social-icons a:hover{

    background:var(--primary);

    color:#071A17;

    transform:translateY(-6px);

    box-shadow:0 0 20px rgba(125,255,66,.45);

    border-color:var(--primary);

}

/*======================================================
ABOUT PAGE
======================================================*/

.about-page section{

    padding:45px 0;

}

.about-page .hero{

    padding:80px 0 70px;

}

/*======================================================
ABOUT PAGE PANELS
======================================================*/

.about-grid{

display:grid;

grid-template-columns:1.2fr .8fr;

gap:80px;

align-items:center;

}

.about-panel{

background:var(--card);

padding:45px;

border-radius:24px;

border:1px solid var(--border);

}

.panel-title{

display:block;

margin-bottom:35px;

letter-spacing:3px;

font-size:13px;

font-weight:700;

color:var(--muted);

}

.feature-item{

display:flex;

align-items:center;

gap:18px;

padding:22px 0;

border-bottom:1px solid rgba(255,255,255,.08);

font-size:18px;

}

.feature-item:last-child{

border:none;

}

.feature-item i{

width:38px;

height:38px;

border-radius:50%;

background:rgba(125,255,66,.15);

display:flex;

align-items:center;

justify-content:center;

color:var(--primary);

font-size:18px;

flex-shrink:0;

}