:root{
    --bg:#050915;
    --bg2:#071326;
    --card:rgba(13,24,48,.72);
    --card2:rgba(255,255,255,.06);
    --line:rgba(255,255,255,.12);
    --text:#f7fbff;
    --muted:#a9b6cc;
    --blue:#1684ff;
    --blue2:#02c8ff;
    --purple:#8b35ff;
    --green:#22d778;
    --yellow:#ffc443;
    --red:#ff4569;
    --shadow:0 25px 80px rgba(0,0,0,.45);
    --glow:0 0 28px rgba(22,132,255,.42);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
    margin:0;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Tahoma,sans-serif;
    color:var(--text);
    background:
        radial-gradient(circle at 15% 10%, rgba(22,132,255,.25), transparent 28%),
        radial-gradient(circle at 85% 20%, rgba(139,53,255,.23), transparent 30%),
        radial-gradient(circle at 50% 100%, rgba(2,200,255,.12), transparent 34%),
        linear-gradient(135deg,#02040a 0%,#071326 45%,#050915 100%);
    min-height:100vh;
    overflow-x:hidden;
}

body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    opacity:.42;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size:46px 46px;
    mask-image:linear-gradient(to bottom, #000, transparent 86%);
}

a{color:inherit;text-decoration:none}

.pro-shell{
    width:min(1220px,calc(100% - 34px));
    margin:0 auto;
    position:relative;
    z-index:2;
}

.navbar{
    position:sticky;
    top:0;
    z-index:20;
    backdrop-filter:blur(22px);
    background:rgba(3,8,20,.72);
    border-bottom:1px solid var(--line);
}

.nav-inner{
    width:min(1220px,calc(100% - 34px));
    margin:auto;
    height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
    font-weight:950;
    letter-spacing:.3px;
}

.brand-mark{
    width:46px;
    height:46px;
    border-radius:15px;
    display:grid;
    place-items:center;
    background:linear-gradient(145deg,var(--blue),var(--purple));
    box-shadow:var(--glow);
    animation:floatIcon 4.5s ease-in-out infinite;
    position:relative;
    overflow:hidden;
}

.brand-mark::after{
    content:"";
    position:absolute;
    inset:-40%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
    transform:rotate(30deg) translateX(-120%);
    animation:shine 3.4s ease-in-out infinite;
}

.brand-mark svg{
    width:25px;
    height:25px;
    filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));
}

.brand span{
    font-size:24px;
}

.brand b{
    color:var(--blue);
}

.nav-links{
    display:flex;
    gap:26px;
    color:#dfe8ff;
    font-size:15px;
    font-weight:700;
}

.nav-links a{
    opacity:.82;
    position:relative;
    padding:27px 0;
}

.nav-links a.active,
.nav-links a:hover{
    opacity:1;
    color:#fff;
}

.nav-links a.active::after,
.nav-links a:hover::after{
    content:"";
    position:absolute;
    right:0;
    left:0;
    bottom:0;
    height:3px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--blue2),var(--blue),var(--purple));
    box-shadow:0 0 18px rgba(22,132,255,.8);
}

.nav-actions{
    display:flex;
    gap:10px;
}

.icon-btn{
    width:42px;
    height:42px;
    border-radius:14px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.04);
    display:grid;
    place-items:center;
    color:#fff;
}

.hero{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:34px;
    align-items:center;
    padding:48px 0 30px;
}

.hero-card{
    min-height:330px;
    border:1px solid rgba(22,132,255,.38);
    border-radius:28px;
    background:
        radial-gradient(circle at 15% 45%, rgba(2,200,255,.25), transparent 24%),
        radial-gradient(circle at 88% 25%, rgba(139,53,255,.25), transparent 32%),
        linear-gradient(135deg,rgba(9,25,58,.95),rgba(5,10,24,.76));
    box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.12);
    position:relative;
    overflow:hidden;
    padding:34px;
    display:grid;
    grid-template-columns:220px 1fr;
    gap:26px;
    align-items:center;
}

.hero-card::before{
    content:"";
    position:absolute;
    width:380px;
    height:380px;
    border-radius:50%;
    right:-100px;
    bottom:-150px;
    background:radial-gradient(circle,rgba(22,132,255,.34),transparent 60%);
    filter:blur(4px);
    animation:pulseGlow 4s ease-in-out infinite;
}

.hero-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.08),transparent 42%);
    transform:translateX(-120%);
    animation:heroSweep 6s ease-in-out infinite;
}

.hero-icon-wrap{
    position:relative;
    display:grid;
    place-items:center;
}

.orbit{
    position:absolute;
    width:250px;
    height:90px;
    border-radius:50%;
    border:1px solid rgba(2,200,255,.45);
    transform:rotate(-16deg);
    animation:orbitSpin 7s linear infinite;
    box-shadow:0 0 30px rgba(2,200,255,.25);
}

.hero-icon{
    width:170px;
    height:170px;
    border-radius:42px;
    background:linear-gradient(145deg,#19b6ff,#075bff 50%,#7c2cff);
    display:grid;
    place-items:center;
    box-shadow:0 22px 70px rgba(22,132,255,.45), inset 0 2px 10px rgba(255,255,255,.28);
    animation:floatIcon 4.2s ease-in-out infinite;
    position:relative;
    z-index:2;
}

.hero-icon img{
    width:96px;
    height:96px;
    filter:drop-shadow(0 12px 20px rgba(0,0,0,.3));
}

.hero-text{
    position:relative;
    z-index:2;
}

.hero-text h1{
    margin:0 0 12px;
    font-size:42px;
    line-height:1.25;
    letter-spacing:-.8px;
}

.hero-text h1 b{
    color:var(--blue);
    text-shadow:0 0 22px rgba(22,132,255,.65);
}

.hero-text p{
    margin:0 0 24px;
    color:#c9d4ea;
    font-size:18px;
    line-height:1.8;
}

.cta-row{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.btn-primary,
.btn-soft,
.install-btn{
    border:0;
    cursor:pointer;
    border-radius:14px;
    font-weight:950;
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    transition:.25s ease;
}

.btn-primary{
    padding:15px 24px;
    background:linear-gradient(135deg,var(--blue),var(--purple));
    box-shadow:0 10px 35px rgba(22,132,255,.35);
}

.btn-soft{
    padding:14px 21px;
    background:rgba(255,255,255,.07);
    border:1px solid var(--line);
}

.btn-primary:hover,
.btn-soft:hover,
.install-btn:hover{
    transform:translateY(-3px);
    filter:saturate(1.2);
}

.phone-preview{
    position:relative;
    min-height:480px;
    display:grid;
    place-items:center;
}

.phone{
    width:288px;
    min-height:560px;
    border-radius:42px;
    border:10px solid rgba(255,255,255,.13);
    outline:1px solid rgba(255,255,255,.25);
    background:#050915;
    box-shadow:0 35px 90px rgba(0,0,0,.6), 0 0 60px rgba(22,132,255,.25);
    padding:18px 14px;
    position:relative;
    overflow:hidden;
}

.phone::before{
    content:"";
    position:absolute;
    top:8px;
    right:50%;
    transform:translateX(50%);
    width:95px;
    height:24px;
    border-radius:999px;
    background:#03060d;
    z-index:2;
}

.phone-top{
    padding:22px 10px 12px;
    display:flex;
    justify-content:space-between;
    color:#fff;
    font-size:13px;
    font-weight:900;
}

.phone-hero{
    border:1px solid rgba(22,132,255,.35);
    border-radius:20px;
    padding:22px 14px;
    text-align:center;
    background:linear-gradient(135deg,rgba(22,132,255,.22),rgba(139,53,255,.16));
    margin-bottom:16px;
}

.phone-hero h3{margin:0 0 6px;font-size:19px}
.phone-hero p{margin:0;color:var(--muted);font-size:12px}

.section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:34px 0 18px;
}

.section-head h2{
    margin:0;
    font-size:25px;
}

.section-head a{
    color:var(--blue2);
    font-weight:800;
    font-size:14px;
}

.apps-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}

.app-card{
    background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
    border:1px solid var(--line);
    border-radius:22px;
    padding:18px;
    box-shadow:0 14px 34px rgba(0,0,0,.23);
    transition:.28s ease;
    position:relative;
    overflow:hidden;
}

.app-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at var(--x,50%) var(--y,0%),rgba(22,132,255,.22),transparent 30%);
    opacity:0;
    transition:.25s ease;
}

.app-card:hover{
    transform:translateY(-6px);
    border-color:rgba(22,132,255,.55);
    box-shadow:0 22px 60px rgba(0,0,0,.34),0 0 28px rgba(22,132,255,.15);
}

.app-card:hover::after{opacity:1}

.app-top{
    display:flex;
    align-items:center;
    gap:14px;
    position:relative;
    z-index:2;
}

.app-icon{
    width:64px;
    height:64px;
    border-radius:18px;
    object-fit:cover;
    background:#0d1830;
    box-shadow:0 12px 28px rgba(0,0,0,.28);
    transition:.25s ease;
}

.app-card:hover .app-icon{
    transform:scale(1.07) rotate(-3deg);
}

.app-title{
    font-size:17px;
    font-weight:950;
    margin-bottom:4px;
}

.app-meta{
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
}

.install-btn{
    margin-top:16px;
    width:100%;
    padding:13px 16px;
    background:linear-gradient(135deg,#0a7cff,#7d2cff);
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 12px 28px rgba(22,132,255,.24);
    position:relative;
    z-index:2;
}

.features{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin:32px 0 50px;
}

.feature-card{
    background:rgba(255,255,255,.045);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    display:flex;
    gap:14px;
    align-items:flex-start;
}

.feature-icon{
    width:44px;
    height:44px;
    border-radius:15px;
    display:grid;
    place-items:center;
    background:rgba(22,132,255,.14);
    color:var(--blue2);
    flex:none;
}

.feature-card h3{
    margin:0 0 6px;
    font-size:17px;
}

.feature-card p{
    margin:0;
    color:var(--muted);
    font-size:13px;
    line-height:1.7;
}

.empty{
    background:rgba(255,255,255,.06);
    border:1px solid var(--line);
    padding:38px;
    border-radius:24px;
    text-align:center;
    color:var(--muted);
}

.footer{
    border-top:1px solid var(--line);
    color:var(--muted);
    padding:26px 0;
    font-size:14px;
}

/* Admin */
.admin-layout{
    display:grid;
    grid-template-columns:280px 1fr;
    gap:22px;
    min-height:100vh;
}

.sidebar{
    position:sticky;
    top:0;
    height:100vh;
    padding:24px;
    border-left:1px solid var(--line);
    background:rgba(3,8,20,.54);
    backdrop-filter:blur(22px);
}

.sidebar .brand{
    margin-bottom:34px;
}

.side-link{
    display:flex;
    gap:12px;
    align-items:center;
    padding:14px 15px;
    border-radius:16px;
    color:#d7e2f7;
    font-weight:800;
    margin-bottom:8px;
    background:transparent;
    border:1px solid transparent;
}

.side-link.active,
.side-link:hover{
    background:rgba(22,132,255,.13);
    border-color:rgba(22,132,255,.28);
}

.admin-main{
    padding:26px 26px 50px;
}

.admin-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:22px;
}

.admin-top h1{
    margin:0;
    font-size:32px;
}

.stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    margin-bottom:22px;
}

.stat-card{
    border:1px solid var(--line);
    border-radius:22px;
    background:linear-gradient(135deg,rgba(22,132,255,.15),rgba(255,255,255,.04));
    padding:20px;
    position:relative;
    overflow:hidden;
}

.stat-card strong{
    display:block;
    font-size:30px;
    margin-top:12px;
}

.stat-card span{
    color:var(--muted);
    font-weight:800;
}

.glass-box{
    background:rgba(255,255,255,.055);
    border:1px solid var(--line);
    border-radius:24px;
    padding:22px;
    box-shadow:var(--shadow);
}

.form-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}

.full{grid-column:1/-1}

label{
    display:block;
    color:#dce8ff;
    font-weight:900;
    margin-bottom:8px;
}

input,textarea{
    width:100%;
    border:1px solid var(--line);
    border-radius:15px;
    background:rgba(255,255,255,.06);
    color:#fff;
    padding:14px 15px;
    outline:none;
    transition:.2s ease;
    font-size:15px;
    font-family:inherit;
}

textarea{min-height:95px;resize:vertical}

input:focus,textarea:focus{
    border-color:rgba(22,132,255,.8);
    box-shadow:0 0 0 4px rgba(22,132,255,.13);
}

.table-wrap{
    overflow:auto;
    margin-top:18px;
}

table{
    width:100%;
    border-collapse:collapse;
    min-width:760px;
}

th,td{
    padding:15px 12px;
    border-bottom:1px solid rgba(255,255,255,.08);
    text-align:right;
    font-size:14px;
}

th{
    color:var(--muted);
    font-weight:900;
}

.action-link{
    color:var(--blue2);
    font-weight:900;
}

.delete{
    color:var(--red);
    font-weight:900;
}

.alert{
    padding:14px 16px;
    border-radius:18px;
    margin-bottom:16px;
    border:1px solid var(--line);
}

.success{background:rgba(34,215,120,.1);color:#8dffbf}
.error{background:rgba(255,69,105,.1);color:#ff9aae}

.login-page{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:24px;
}

.login-box{
    width:min(440px,100%);
    background:rgba(255,255,255,.06);
    border:1px solid var(--line);
    border-radius:28px;
    padding:30px;
    box-shadow:var(--shadow);
    backdrop-filter:blur(20px);
}

.login-box .brand{
    justify-content:center;
    margin-bottom:24px;
}

@keyframes floatIcon{
    0%,100%{transform:translateY(0) rotate(0deg)}
    50%{transform:translateY(-12px) rotate(-2deg)}
}

@keyframes shine{
    0%{transform:rotate(30deg) translateX(-130%)}
    45%,100%{transform:rotate(30deg) translateX(130%)}
}

@keyframes pulseGlow{
    0%,100%{opacity:.45;transform:scale(1)}
    50%{opacity:.85;transform:scale(1.08)}
}

@keyframes heroSweep{
    0%,55%{transform:translateX(-120%)}
    75%,100%{transform:translateX(120%)}
}

@keyframes orbitSpin{
    from{transform:rotate(-16deg)}
    to{transform:rotate(344deg)}
}

@media(max-width:980px){
    .hero{grid-template-columns:1fr}
    .phone-preview{display:none}
    .hero-card{grid-template-columns:1fr;text-align:center}
    .apps-grid,.features,.stats{grid-template-columns:repeat(2,1fr)}
    .admin-layout{grid-template-columns:1fr}
    .sidebar{position:relative;height:auto;border-left:0;border-bottom:1px solid var(--line)}
}

@media(max-width:640px){
    .nav-links{display:none}
    .brand span{font-size:20px}
    .hero-card{padding:26px 18px}
    .hero-text h1{font-size:31px}
    .apps-grid,.features,.stats,.form-grid{grid-template-columns:1fr}
    .admin-main{padding:20px 14px}
}
.social-box {
    width: min(1220px, calc(100% - 34px));
    margin: 30px auto 20px;
    padding: 24px;
    border-radius: 24px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.12);
    text-align: center;
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
}

.social-box h2 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 24px;
}

.social-box p {
    margin: 0 0 18px;
    color: #a9b6cc;
}

.social-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
}

.social-links a {
    padding: 12px 18px;
    border-radius: 15px;
    background: linear-gradient(135deg, #1684ff, #8b35ff);
    color: #fff;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 10px 28px rgba(22,132,255,.25);
    transition: .25s ease;
}

.social-links a:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(22,132,255,.42);
}