/* ==========================================================
   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:1390px;

}


/* Reset */

*{

margin:0;

padding:0;

box-sizing:border-box;

}


html{

scroll-behavior:smooth;

}


body{

background:var(--bg);

font-family:'Segoe UI', Tahoma, Geneva, Verdana,sans-serif;

color:var(--text);

line-height:1.7;

overflow-x:hidden;

}

/* Typography */

h1,h2,h3,h4,h6,p{

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

font-weight:600;

color:white;

}

h1{

font-size:60px;

line-height:1.05;

}

h2{

font-size:45px;

margin-bottom:25px;

}

h3{

font-size: 20px;

}

p{

color:var(--muted);

}


/* Layout */

.container{

max-width:var(--container);

margin:auto;

padding:0 30px;

}

section{

padding:70px 0;

}


/* Buttons */

.btn{

display:inline-flex;

align-items:center;

justify-content:center;

padding:14px 20px;

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:30px;

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:20px;

    font-weight:500;

    color:white;

    letter-spacing:.5px;
   

}

.logo-subtitle{

    font-family:Inter,sans-serif;

    font-size:16px;

    font-weight:600;

    color:#7DFF42;

    letter-spacing:3px;

    text-transform:uppercase;

}


.nav-links{

display:flex;

gap:38px;

list-style:none;

}


.nav-links a{

color:var(--text);

font-weight:800;

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:20px;

text-align:center;

}

.stats .card h2{

font-size:40px;

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;

}

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

.about-page .about-section{padding:50px 0;}
.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;}
.about-panel{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:40px;}
.panel-title{display:block;margin-bottom:30px;font-size:13px;letter-spacing:3px;color:var(--muted);font-weight:700;}
.feature-item{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.08);}
.feature-item:last-child{border-bottom:none;}
.feature-item i{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(125,255,66,.15);color:var(--primary);}
@media(max-width:992px){
.about-grid{grid-template-columns:1fr;}
}

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

.about-page .about-section{padding:50px 0;}
.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;}
.about-panel{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:40px;}
.panel-title{display:block;margin-bottom:30px;font-size:13px;letter-spacing:3px;color:var(--muted);font-weight:700;}
.feature-item{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.08);}
.feature-item:last-child{border-bottom:none;}
.feature-item i{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(125,255,66,.15);color:var(--primary);}
@media(max-width:992px){
.about-grid{grid-template-columns:1fr;}
}

.team-photo{

    width:150px !important;

    height:150px !important;

    margin:0 auto 25px;

    border-radius:50% !important;

    overflow:hidden !important;

    border:4px solid rgba(125,255,66,.25);

    display:block;

}

.team-photo img{

    width:150px !important;

    height:150px !important;

    border-radius:50% !important;

    object-fit:cover !important;

    display:block;

}

/*=========================================
HOW IT WORKS
=========================================*/

.how-it-works{

    padding:120px 0;

}

.section-intro{

    max-width:760px;

    margin:25px 0 70px;

    font-size:20px;

    line-height:1.8;

    color:#a8b3ab;

}

.steps-grid{

    display:grid;

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

    gap:30px;

}

.step-card{

    background:#0d3325;

    border:1px solid rgba(125,255,66,.10);

    border-radius:24px;

    padding:42px;

    transition:.35s;

}

.step-card:hover{

    transform:translateY(-8px);

    border-color:#7dff42;

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

}

.step-number{

    display:block;

    color:#7dff42;

    font-weight:700;

    letter-spacing:3px;

    margin-bottom:35px;

}

.step-card h3{

    margin-bottom:22px;

    font-size:32px;

}

.step-card p{

    line-height:1.8;

    color:#a8b3ab;

}

@media(max-width:1200px){

    .steps-grid{

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

    }

}

@media(max-width:768px){

    .steps-grid{

        grid-template-columns:1fr;

    }

}


/* MOBILE RESPONSIVE FIXES */
html,body{width:100%;max-width:100%;overflow-x:hidden;}*{max-width:100%;}img,svg,canvas,video,iframe{max-width:100%;height:auto;}.container{width:min(100%,var(--container));}.hero-grid,.about-grid,.footer-grid,.stats-grid,.dashboard-grid{min-width:0;}.dashboard-window{overflow:hidden;}@media (max-width:1200px){.hero-grid{grid-template-columns:1fr;gap:50px;}.stats-grid,.footer-grid{grid-template-columns:repeat(2,1fr);}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;}}@media (max-width:768px){.header{position:relative;}.nav{height:auto;padding:18px 0;flex-direction:column;gap:18px;}.logo{flex-direction:column;text-align:center;gap:10px;}.logo img{width:72px;height:72px;}.logo-title{font-size:16px;}.logo-subtitle{font-size:13px;letter-spacing:1px;}.nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;width:100%;}.nav .btn{width:100%;max-width:320px;}.hero{padding:60px 0 80px;}.hero-grid,.about-grid,.stats-grid,.footer-grid,.dashboard-grid{grid-template-columns:1fr;gap:30px;}.dashboard-grid{grid-template-rows:auto;justify-items:center;}.widget{width:100%;}h1{font-size:34px;line-height:1.2;}h2{font-size:28px;}p{font-size:16px;}.hero-buttons{flex-direction:column;}.hero-buttons .btn,.btn{width:100%;}section{padding:60px 0;}}