*{
margin:0;
padding:0;
box-sizing:border-box;
}

html,
body{
background:#07070d;
font-family:Inter,sans-serif;
color:#fff;
overflow-x:hidden;
}

body{
background:
radial-gradient(circle at top right,#6f2cff33,transparent 30%),
radial-gradient(circle at bottom left,#00d0ff22,transparent 30%),
#07070d;
}

#jsi-super-app{
width:100%;
min-height:100vh;
padding-bottom:120px;
}

/* ==========================================
   APP SHELL
========================================== */

.jsi-app-header{

    position:fixed;

    top:0;
    left:0;
    right:0;

    height:70px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:0 16px;

    background:#07070d;

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

    z-index:9999;

}

.jsi-menu-btn{

    width:42px;

    height:42px;

    border:none;

    border-radius:14px;

    background:#14141d;

    color:#fff;

}

.jsi-menu-btn .dashicons{

    font-size:20px;

}

.jsi-search{

    flex:1;

    position:relative;

}

.jsi-search .dashicons{

    position:absolute;

    left:12px;

    top:11px;

    color:#777;

}

.jsi-search input{

    width:100%;

    height:42px;

    border:none;

    border-radius:14px;

    background:#14141d;

    color:#fff;

    padding-left:38px;

}

.jsi-header-icons{

    display:flex;

    gap:8px;

}

.jsi-header-icons span{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:14px;

    background:#14141d;

    color:#fff;

}

.jsi-app-content{
    padding-top:2px;
    padding-bottom:90px; /* clear fixed bottom nav */
    min-height:100vh;
    position:relative;
    z-index:1;
}
/* HERO */

.jsi-hero-card{
margin:20px;
padding:28px;
border-radius:30px;
background:linear-gradient(135deg,#25003e,#5d00ff);
}

.jsi-hero-card h1{
font-size:40px;
margin:18px 0;
}

.jsi-hero-card p{
line-height:1.8;
opacity:.85;
}

.jsi-badge-pill{
display:inline-block;
padding:10px 14px;
border-radius:100px;
background:rgba(255,255,255,.12);
font-size:11px;
font-weight:700;
}

.jsi-hero-buttons{
display:flex;
gap:12px;
margin-top:22px;
}

.jsi-btn-primary,
.jsi-btn-secondary{
height:50px;
padding:0 22px;
border:none;
border-radius:18px;
font-weight:700;
}

.jsi-btn-primary{
background:white;
color:black;
}

.jsi-btn-secondary{
background:rgba(255,255,255,.12);
color:white;
}

/* NAV */

.jsi-bottom-nav{
    position:fixed;
    bottom:12px;
    left:8px;
    right:8px;
    height:70px;
    background:#111118;
    border:1px solid rgba(255,255,255,.05);
    border-radius:20px;
    display:flex;
    justify-content:space-around;
    align-items:center;
    z-index:99999;
    pointer-events:auto;
}

.jsi-nav-item{
background:none;
border:none;
color:white;
display:flex;
flex-direction:column;
align-items:center;
gap:6px;
opacity:.6;
}

.jsi-nav-item.active{
opacity:1;
}

.jsi-nav-item span{
font-size:20px;
}

.jsi-nav-item small{
font-size:9px;
}

/* FLOAT BUTTON */

.jsi-ai-float{
position:fixed;
right:24px;
bottom:120px;
width:68px;
height:68px;
border:none;
border-radius:50%;
background:linear-gradient(135deg,#00d0ff,#6f2cff);
color:white;
font-size:24px;
box-shadow:0 0 40px #6f2cff88;
}
/* =====================================
   TALENTHUB ONBOARDING UI
===================================== */

.jsi-onboard-screen,
.jsi-activation-wrap{
    max-width:900px;
    margin:40px auto;
    padding:40px 24px;
    text-align:center;
}

.jsi-onboard-logo{
    display:inline-block;
    padding:10px 18px;
    border-radius:999px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    color:#00e5ff;
    font-weight:700;
    letter-spacing:1px;
    margin-bottom:24px;
}

.jsi-onboard-title{
    font-size:42px;
    line-height:1.1;
    margin:0 0 14px;
    color:#fff;
    font-weight:800;
}

.jsi-onboard-subtitle{
    color:rgba(255,255,255,.70);
    font-size:16px;
    max-width:550px;
    margin:0 auto 40px;
}

.jsi-role-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
}

.jsi-role-card{
    position:relative;
    overflow:hidden;

    padding:34px 28px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.05),
            rgba(255,255,255,.02)
        );

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

    border-radius:28px;

    backdrop-filter:blur(20px);

    cursor:pointer;

    transition:.25s ease;
}

.jsi-role-card:hover{
    transform:translateY(-5px);

    border-color:rgba(0,229,255,.45);

    box-shadow:
        0 0 30px rgba(0,229,255,.15);
}

.jsi-role-icon{
    font-size:48px;
    margin-bottom:18px;
}

.jsi-role-card h3{
    color:#fff;
    margin:0 0 12px;
    font-size:24px;
}

.jsi-role-card p{
    color:rgba(255,255,255,.70);
    line-height:1.6;
}

.jsi-activation-badge{
    display:inline-flex;

    padding:10px 18px;

    border-radius:999px;

    background:
        rgba(0,229,255,.10);

    border:
        1px solid rgba(0,229,255,.20);

    color:#00e5ff;

    font-weight:700;

    margin-bottom:24px;
}

.jsi-activation-wrap h1{
    color:#fff;
    font-size:46px;
    margin-bottom:14px;
}

.jsi-activation-wrap p{
    color:rgba(255,255,255,.70);
    max-width:600px;
    margin:0 auto 24px;
}

.jsi-price{
    font-size:72px;
    font-weight:900;
    color:#fff;
    margin:30px 0;
}

.jsi-benefits{
    list-style:none;
    padding:0;
    margin:0 0 40px;
}

.jsi-benefits li{
    color:#d6d6d6;
    margin:12px 0;
    font-size:15px;
}

.jsi-activate-btn{
    border:none;

    padding:16px 34px;

    border-radius:14px;

    cursor:pointer;

    font-weight:800;

    font-size:16px;

    color:#000;

    background:
        linear-gradient(
            90deg,
            #00e5ff,
            #3f8cff
        );

    box-shadow:
        0 0 30px rgba(0,229,255,.30);

    transition:.25s ease;
}

.jsi-activate-btn:hover{
    transform:translateY(-3px);
}

@media(max-width:768px){

    .jsi-role-grid{
        grid-template-columns:1fr;
    }

    .jsi-onboard-title{
        font-size:32px;
    }

    .jsi-price{
        font-size:54px;
    }
}
/* ======================================
   FREELANCER ONBOARDING PRO
====================================== */

.jsi-onboarding-wrap{

    max-width:900px;
    margin:0 auto;
    padding:20px;

}

.jsi-step-indicator{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(0,229,255,.08);

    border:1px solid rgba(0,229,255,.18);

    color:#00e5ff;

    font-weight:700;

    margin-bottom:18px;

}

.jsi-onboarding-title{

    color:#fff;

    font-size:42px;

    line-height:1.1;

    margin:0 0 10px;

    font-weight:800;

}

.jsi-onboarding-subtitle{

    color:rgba(255,255,255,.65);

    margin-bottom:30px;

}

.jsi-form-grid{

    display:grid;

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

    gap:18px;

    margin-bottom:18px;

}

.jsi-field{

    margin-bottom:18px;

}

.jsi-field label{

    display:block;

    color:#d8d8d8;

    font-size:13px;

    font-weight:600;

    margin-bottom:8px;

}

.jsi-field input,
.jsi-field select,
.jsi-field textarea{

    width:100%;

    background:
        rgba(255,255,255,.04);

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

    border-radius:16px;

    padding:16px;

    color:#fff;

    outline:none;

    transition:.25s ease;

    backdrop-filter:blur(20px);

}

.jsi-field input:focus,
.jsi-field select:focus,
.jsi-field textarea:focus{

    border-color:#00e5ff;

    box-shadow:
        0 0 0 3px rgba(0,229,255,.15);

}

.jsi-field textarea{

    min-height:130px;

    resize:vertical;

}

#jsi-onboarding-form{

    padding:28px;

    border-radius:28px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.04),
            rgba(255,255,255,.02)
        );

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

    backdrop-filter:blur(30px);

}

@media(max-width:768px){

    .jsi-form-grid{

        grid-template-columns:1fr;

    }

    .jsi-onboarding-title{

        font-size:30px;

    }

}
.jsi-nav-item{

    flex:1;

    min-width:0;

    background:none;

    border:none;

    color:white;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    gap:4px;

    opacity:.6;

}
.jsi-bottom-nav{
    overflow:hidden;
}
.jsi-nav-item{
    flex:1;
}
.jsi-bottom-nav .jsi-nav-item{
    pointer-events:auto !important;
    cursor:pointer !important;
    position:relative;
    z-index:99999;
}
