/* =====================================================
   AI FACEBOOK ADS PLANNING ASSISTANT
   MaxiSphere Premium UI
   ===================================================== */


/* =========================
   GLOBAL RESET
========================= */

* {
    margin:0;
    padding:0;
    box-sizing:border-box;
}


:root {

    --primary:#1B8A5A;
    --primary-dark:#12663F;
    --primary-light:#E8F7EF;

    --white:#ffffff;

    --background:#F7FAF8;

    --dark:#18212B;

    --gray:#667085;

    --border:#E5E7EB;

    --success:#16A34A;

    --warning:#D97706;

    --danger:#DC2626;


    --shadow:
    0 15px 40px rgba(0,0,0,.08);


    --shadow-small:
    0 4px 15px rgba(0,0,0,.05);


    --radius:20px;

}



body {

    font-family:

    Inter,
    "Segoe UI",
    Arial,
    sans-serif;


    background:
    var(--background);


    color:
    var(--dark);


    min-height:100vh;

}





/* =========================
   MAIN CONTAINER
========================= */


.app-container {

    min-height:100vh;

}






/* =========================
   HEADER
========================= */


.top-header {


    background:
    var(--white);


    border-bottom:
    1px solid var(--border);


    padding:
    20px 5%;


}



.brand {


    display:flex;


    align-items:center;


    gap:15px;


}



.brand-logo {


    width:50px;


    height:50px;


    border-radius:16px;


    display:flex;


    align-items:center;


    justify-content:center;


    color:white;


    font-weight:800;


    background:
    var(--primary);


    box-shadow:
    var(--shadow-small);

}




.brand h1 {


    font-size:18px;


    font-weight:700;


}



.brand p {


    color:var(--gray);


    font-size:13px;


}








/* =========================
   PAGE SYSTEM
========================= */


.page {


    display:none;


    padding:
    40px 5%;


}



.page.active {


    display:block;


    animation:
    fadeIn .35s ease;


}



@keyframes fadeIn {


    from {

        opacity:0;

        transform:
        translateY(20px);

    }


    to {

        opacity:1;

        transform:
        translateY(0);

    }

}









/* =========================
   WELCOME CARD
========================= */


.welcome-card {


    max-width:
    700px;


    margin:
    70px auto;


    padding:
    50px 35px;


    background:white;


    border-radius:
    28px;


    box-shadow:
    var(--shadow);


    text-align:center;


}




.tag {


    display:inline-block;


    background:
    var(--primary-light);


    color:
    var(--primary);


    padding:
    8px 18px;


    border-radius:
    50px;


    font-size:
    13px;


    font-weight:
    600;


    margin-bottom:
    25px;

}



.welcome-card h2 {


    font-size:
    clamp(30px,5vw,48px);


    line-height:
    1.15;


    margin-bottom:
    20px;


}



.welcome-card p {


    color:
    var(--gray);


    font-size:
    17px;


    line-height:
    1.7;


}



.description {


    margin-top:
    15px;


    margin-bottom:
    35px;

}









/* =========================
   BUTTONS
========================= */


button {


    border:none;


    cursor:pointer;


    padding:
    14px 26px;


    border-radius:
    14px;


    font-weight:
    700;


    font-size:
    15px;


    transition:
    .3s ease;

}



.primary-btn {


    background:
    var(--primary);


    color:white;


}



.primary-btn:hover {


    background:
    var(--primary-dark);


    transform:
    translateY(-2px);

}




.secondary-btn {


    background:
    #F1F5F3;


    color:
    var(--dark);


}



.secondary-btn:hover {


    background:
    #E5E7EB;

}









/* =========================
   WIZARD
========================= */


.wizard-box {


    max-width:
    850px;


    margin:auto;


}





.progress-area {


    margin-bottom:
    25px;


}



.progress-info {


    display:flex;


    justify-content:
    space-between;


    margin-bottom:
    10px;


    font-size:
    14px;


    color:
    var(--gray);


}



.progress-track {


    height:
    10px;


    background:
    #E5E7EB;


    border-radius:
    50px;


    overflow:hidden;

}



.progress-bar {


    width:
    12.5%;


    height:100%;


    background:
    var(--primary);


    transition:
    width .4s ease;


}









/* =========================
   STEPS
========================= */


.step {


    display:none;


    background:white;


    padding:
    35px;


    border-radius:
    var(--radius);


    box-shadow:
    var(--shadow-small);


}



.step.active {


    display:block;


    animation:
    slideIn .35s ease;


}



@keyframes slideIn {


from {

opacity:0;

transform:
translateX(20px);

}


to {

opacity:1;

transform:
translateX(0);

}


}




.step h2 {


    margin-bottom:
    25px;


    font-size:
    28px;


}








/* =========================
   INPUTS
========================= */


input,
textarea {


    width:100%;


    padding:
    15px;


    margin-bottom:
    15px;


    border:
    1px solid var(--border);


    border-radius:
    14px;


    font-size:
    15px;


    outline:none;


    background:white;


}



textarea {


    min-height:
    130px;


    resize:
    vertical;


}



input:focus,
textarea:focus {


    border-color:
    var(--primary);


    box-shadow:
    0 0 0 4px rgba(27,138,90,.12);


}









/* =========================
   RADIO & CHECKBOX
========================= */


label {


    display:block;


    background:
    #FAFBFA;


    padding:
    15px;


    border:
    1px solid var(--border);


    border-radius:
    14px;


    margin-bottom:
    12px;


    cursor:pointer;


    transition:.3s;


}



label:hover {


    border-color:
    var(--primary);


    background:
    var(--primary-light);


}



label input {


    width:auto;


    margin-right:
    10px;


}








/* =========================
   NAV BUTTONS
========================= */


.buttons {


    display:flex;


    justify-content:
    space-between;


    margin-top:
    25px;


    gap:
    15px;


}









/* =========================
   REVIEW
========================= */


.review-box {


    background:
    #F8FAF9;


    padding:
    25px;


    border-radius:
    15px;


    color:
    var(--gray);


    line-height:
    1.8;


}









/* =========================
   LEAD CAPTURE
========================= */


.lead-card {


    max-width:
    500px;


    margin:
    70px auto;


    background:white;


    padding:
    40px;


    border-radius:
    25px;


    box-shadow:
    var(--shadow);


    text-align:center;


}



.lead-card h2 {


    margin-bottom:
    15px;


}



.lead-card p {


    color:
    var(--gray);


    margin-bottom:
    25px;


}









/* =========================
   REPORT
========================= */


.report-card {


    background:white;


    padding:
    30px;


    border-radius:
    22px;


    box-shadow:
    var(--shadow-small);


    margin-bottom:
    20px;


}




.score-circle {


    width:150px;


    height:150px;


    border-radius:50%;


    display:flex;


    align-items:center;


    justify-content:center;


    font-size:35px;


    font-weight:800;


    background:
    var(--primary-light);


    color:
    var(--primary);


}








/* =========================
   MOBILE
========================= */


@media(max-width:600px){


.page {

padding:
25px 15px;

}



.welcome-card {


padding:
35px 20px;


margin:
40px auto;


}




.step {


padding:
25px 20px;


}



.buttons {


flex-direction:
column;


}


button {


width:100%;


}



}





/* =========================
   PRINT
========================= */


@media print {


.top-header,
button {

display:none;

}



body {

background:white;

}


.report-card {

box-shadow:none;

border:
1px solid #ddd;

}


}

/* =====================================
   FINAL REPORT EXPERIENCE
===================================== */


.success-message {

display:none;

background:#E8F7EF;

color:#166534;

padding:18px;

border-radius:16px;

margin-bottom:25px;

text-align:center;

font-weight:700;

animation:fadeIn .5s ease;

}




.loading-overlay {


display:none;


position:fixed;


top:0;

left:0;


width:100%;


height:100%;


background:rgba(255,255,255,.92);


z-index:9999;


align-items:center;


justify-content:center;


}





.loader-card {


background:white;


padding:40px;


border-radius:25px;


box-shadow:var(--shadow);


text-align:center;


max-width:350px;


}



.loader-card h3 {


margin-top:20px;


font-size:22px;


}



.loader-card p {


margin-top:10px;


color:var(--gray);


}




.spinner {


width:60px;


height:60px;


border-radius:50%;


border:6px solid #E8F7EF;


border-top-color:var(--primary);


animation:spin 1s linear infinite;


margin:auto;


}



@keyframes spin {


from{

transform:rotate(0deg);

}


to{

transform:rotate(360deg);

}


}







.report-header {


background:

linear-gradient(

135deg,

#1B8A5A,

#12663F

);


color:white;


padding:35px;


border-radius:25px;


margin-bottom:25px;


}



.report-header h1 {


font-size:32px;


margin-bottom:10px;


}




.report-grid {


display:grid;


grid-template-columns:

repeat(auto-fit,minmax(250px,1fr));


gap:20px;


}




.report-section {


background:white;


padding:30px;


border-radius:22px;


box-shadow:var(--shadow-small);


margin-bottom:20px;


}




.report-section h2 {


margin-bottom:18px;


color:var(--dark);


}





.metric {


font-size:28px;


font-weight:800;


color:var(--primary);


}





.action-item {


background:#F7FAF8;


padding:15px;


border-radius:14px;


margin-bottom:10px;


}





.download-btn {


background:#18212B;


color:white;


margin-top:15px;


}



.download-btn:hover {


background:black;


}