:root {
    --bg: #f5f7fb;
    --card: #fff;
    --text: #111827;
    --muted: #6b7280;
    --primary: #5b4df5;
    --primary2: #7c3aed;
    --navy: #111827;
    --border: #e7eaf0;
    --green: #059669;
    --soft: #f7f7ff;
    --amber: #b7791f
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    background: #fff;
    color: var(--text)
}

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

button,
input,
select {
    font: inherit
}

nav {
    height: 76px;
    padding: 0 max(6vw, 28px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #ffffffee;
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 20
}

.brand {
    font-size: 20px;
    font-weight: 850;
    display: flex;
    align-items: center;
    gap: 9px
}

.brand>span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--primary), var(--primary2));
    color: #fff;
    font-size: 12px
}

.navlinks {
    display: flex;
    gap: 25px;
    align-items: center;
    font-size: 14px;
    font-weight: 600
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--primary), var(--primary2));
    color: #fff;
    padding: 13px 19px;
    border-radius: 11px;
    border: 0;
    font-weight: 750;
    cursor: pointer;
    box-shadow: 0 8px 22px #5b4df52b
}

.btn.small {
    padding: 10px 14px
}

.btn.ghost,
.btn.outline {
    background: #fff;
    color: var(--primary);
    border: 1px solid #d9d6ff;
    box-shadow: none
}

.hero {
    min-height: 650px;
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 70px;
    align-items: center;
    padding: 78px max(7vw, 28px);
    background: radial-gradient(circle at 80% 10%, #e7e4ff 0, transparent 32%), linear-gradient(145deg, #f9faff, #fff)
}

h1 {
    font-size: clamp(42px, 5.5vw, 76px);
    line-height: 1.02;
    letter-spacing: -3px;
    margin: 17px 0 20px;
    max-width: 820px
}

h2 {
    font-size: clamp(30px, 3vw, 44px);
    letter-spacing: -1.3px;
    margin: 8px 0 12px
}

.hero p,
.section-sub {
    font-size: 17px;
    color: var(--muted);
    line-height: 1.75;
    max-width: 720px
}

.pill {
    display: inline-flex;
    background: #eceaff;
    color: #5145cd;
    padding: 8px 12px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .4px
}

.actions {
    display: flex;
    gap: 12px;
    margin-top: 27px
}

.trust {
    display: flex;
    gap: 36px;
    margin-top: 42px
}

.trust div {
    display: flex;
    flex-direction: column
}

.trust b {
    font-size: 25px
}

.trust span {
    font-size: 12px;
    color: var(--muted);
    margin-top: 3px
}

.hero-panel {
    padding: 27px;
    border: 1px solid #e2e0ff;
    border-radius: 24px;
    background: #ffffffd9;
    box-shadow: 0 30px 80px #4b3ed321;
    transform: rotate(1deg)
}

.panel-head,
.cardhead {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.panel-head small,
.cardhead small,
.plan>small {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.2px;
    color: var(--muted)
}

.panel-head h3 {
    margin: 5px 0
}

.badge {
    display: inline-flex;
    padding: 6px 9px;
    border-radius: 99px;
    background: #e8f8f1;
    color: #087252;
    font-size: 11px;
    font-weight: 800
}

.badge.amber {
    background: #fff6dd;
    color: #8a6515
}

.balance {
    padding: 26px;
    margin: 22px 0;
    background: linear-gradient(135deg, #17162a, #272451);
    color: #fff;
    border-radius: 18px
}

.balance small,
.balance span {
    display: block;
    color: #c8c5ef
}

.balance strong {
    display: block;
    font-size: 37px;
    margin: 6px 0
}

.mini-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px
}

.mini-grid div {
    padding: 12px;
    background: #f6f7fb;
    border-radius: 11px
}

.mini-grid small,
.mini-grid b {
    display: block
}

.mini-grid small {
    font-size: 10px;
    color: var(--muted)
}

.fakechart {
    height: 90px;
    display: flex;
    align-items: end;
    gap: 8px;
    margin-top: 20px
}

.fakechart i {
    flex: 1;
    background: linear-gradient(var(--primary), #c8c3ff);
    border-radius: 5px 5px 2px 2px
}

.fakechart i:nth-child(1) {
    height: 30%
}

.fakechart i:nth-child(2) {
    height: 48%
}

.fakechart i:nth-child(3) {
    height: 42%
}

.fakechart i:nth-child(4) {
    height: 70%
}

.fakechart i:nth-child(5) {
    height: 56%
}

.fakechart i:nth-child(6) {
    height: 82%
}

.fakechart i:nth-child(7) {
    height: 66%
}

.fakechart i:nth-child(8) {
    height: 94%
}

.disclaimer {
    color: var(--muted);
    line-height: 1.5
}

.logos {
    padding: 20px max(7vw, 28px);
    display: flex;
    justify-content: space-around;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.5px;
    color: #9ca3af
}

section {
    padding: 80px max(7vw, 28px)
}

.section-kicker {
    text-align: center;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.7px;
    color: var(--primary)
}

.section-kicker.left {
    text-align: left
}

section>h2 {
    text-align: center
}

.section-sub {
    text-align: center;
    margin: 0 auto 34px
}

.grid4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 34px
}

.grid4 article,
.feature-grid article {
    padding: 26px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: #fff;
    position: relative
}

.grid4 article>b {
    position: absolute;
    right: 18px;
    top: 16px;
    color: #d5d8e1
}

.icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #eeecff;
    color: var(--primary);
    font-weight: 900
}

.grid4 p,
.feature-grid p {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.65
}

.soft {
    background: var(--soft)
}

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

.plan {
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: 17px;
    background: #fff;
    position: relative
}

.plan.popular {
    border-color: #8f86ff;
    box-shadow: 0 15px 40px #5b4df517
}

.pop {
    position: absolute;
    right: 14px;
    top: 14px;
    background: #17162a;
    color: #fff;
    border-radius: 99px;
    padding: 5px 8px;
    font-size: 9px;
    font-weight: 800
}

.plan h3 {
    font-size: 28px;
    margin: 7px 0 18px
}

.planline {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    border-top: 1px solid var(--border);
    padding: 11px 0;
    font-size: 12px
}

.planline span {
    color: var(--muted)
}

.plan .btn {
    width: 100%;
    margin-top: 12px;
    padding: 10px
}

.calc {
    margin-top: 50px;
    padding: 35px;
    background: #17162a;
    color: #fff;
    border-radius: 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center
}

.calc p {
    color: #aaa7c9;
    line-height: 1.7
}

.calcbox {
    background: #252341;
    padding: 22px;
    border-radius: 16px
}

.calcbox label {
    font-size: 12px;
    color: #aaa7c9
}

.calcbox select {
    width: 100%;
    padding: 12px;
    margin: 7px 0 14px;
    border: 1px solid #48456d;
    border-radius: 10px;
    background: #17162a;
    color: #fff
}

.calcbox #calcResult>div {
    display: flex;
    justify-content: space-between;
    padding: 9px 0;
    border-bottom: 1px solid #3a385a
}

.calcbox small {
    display: block;
    color: #aaa7c9;
    margin-top: 12px
}

.level-strip {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: 8px;
    margin-top: 34px
}

.level-strip div {
    padding: 18px 8px;
    text-align: center;
    background: #17162a;
    color: #fff;
    border-radius: 12px
}

.level-strip span,
.level-strip b {
    display: block
}

.level-strip span {
    font-size: 10px;
    color: #aaa7c9;
    margin-bottom: 5px
}

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

.faq {
    max-width: 850px;
    margin: 30px auto
}

.faq details {
    border-bottom: 1px solid var(--border);
    padding: 18px 4px
}

.faq summary {
    font-weight: 750;
    cursor: pointer
}

.faq p {
    color: var(--muted);
    line-height: 1.7
}

.cta {
    background: linear-gradient(135deg, #17162a, #302b72);
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px
}

.cta h2 {
    text-align: left
}

.cta p {
    color: #c8c5ef
}

.pill.dark {
    background: #ffffff16;
    color: #dcd9ff
}

.btn.light {
    background: #fff;
    color: #29255d;
    box-shadow: none
}

footer {
    padding: 55px max(7vw, 28px) 30px;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 30px;
    background: #0e0f16;
    color: #c3c5cd
}

footer div {
    display: flex;
    flex-direction: column;
    gap: 9px;
    font-size: 13px
}

footer b {
    color: #fff
}

footer p {
    color: #858894
}

footer small {
    grid-column: 1/-1;
    border-top: 1px solid #272934;
    padding-top: 22px;
    color: #777b87
}

/* auth */
.auth {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 25px;
    background: radial-gradient(circle at 20% 10%, #e7e4ff, transparent 35%), #f8f9fc
}

.auth-card {
    width: min(470px, 100%);
    background: #fff;
    padding: 34px;
    border-radius: 22px;
    border: 1px solid var(--border);
    box-shadow: 0 24px 70px #25205018
}

.auth-card h1 {
    font-size: 30px;
    letter-spacing: -1px
}

.field {
    display: block;
    margin: 14px 0
}

.field span,
.field label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 7px
}

.field input,
.field select {
    width: 100%;
    padding: 12px;
    border: 1px solid #dce0e8;
    border-radius: 10px
}

.full {
    width: 100%
}

.auth-note {
    text-align: center;
    color: var(--muted);
    font-size: 13px
}

.auth-card .brand {
    margin-bottom: 25px
}

/* dashboard */
.dashbody {
    background: var(--bg)
}

.layout {
    display: grid;
    grid-template-columns: 250px 1fr;
    min-height: 100vh
}

.sidebar {
    background: #12131c;
    color: #d8dae3;
    padding: 22px 15px;
    position: sticky;
    top: 0;
    height: 100vh
}

.sidebar .brand {
    color: #fff;
    padding: 0 8px 20px
}

.member {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 15px 8px;
    border-top: 1px solid #282a35;
    border-bottom: 1px solid #282a35;
    margin-bottom: 14px
}

.member div:last-child {
    display: flex;
    flex-direction: column;
    font-size: 12px
}

.member small {
    color: #858894;
    margin-top: 3px
}

.avatar {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: #5b4df5;
    color: #fff;
    font-weight: 800
}

.menu-wrap {
    display: flex;
    flex-direction: column
}

.sidebar a.menu {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    margin: 2px 0;
    border-radius: 9px;
    font-size: 13px
}

.sidebar a.menu:hover,
.sidebar a.active {
    background: #252633;
    color: #fff
}

.sidebar em {
    margin-left: auto;
    background: #5b4df5;
    color: #fff;
    border-radius: 99px;
    padding: 2px 6px;
    font-style: normal;
    font-size: 9px
}

.side-help {
    position: absolute;
    bottom: 62px;
    left: 15px;
    right: 15px;
    padding: 14px;
    background: #1c1d28;
    border-radius: 12px
}

.side-help b,
.side-help small {
    display: block
}

.side-help small {
    font-size: 10px;
    color: #9699a5;
    line-height: 1.5;
    margin: 5px 0 9px
}

.side-help button {
    width: 100%;
    border: 0;
    background: #2c2e3c;
    color: #fff;
    padding: 8px;
    border-radius: 8px;
    font-size: 11px
}

.logout {
    position: absolute;
    bottom: 20px;
    left: 27px;
    font-size: 12px;
    color: #9ca0ad
}

.main {
    padding: 27px 32px;
    min-width: 0
}

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

.topbar small {
    color: var(--muted)
}

.topbar h1 {
    font-size: 28px;
    letter-spacing: -.8px;
    margin: 3px 0
}

.top-actions {
    display: flex;
    gap: 10px;
    align-items: center
}

.iconbtn {
    width: 38px;
    height: 38px;
    border: 1px solid var(--border);
    background: #fff;
    border-radius: 10px
}

.userchip {
    display: flex;
    align-items: center;
    gap: 7px;
    background: #fff;
    border: 1px solid var(--border);
    padding: 5px 10px 5px 5px;
    border-radius: 11px;
    font-size: 12px
}

.smallav {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    font-size: 9px
}

.notice {
    display: flex;
    align-items: center;
    gap: 13px;
    background: #eeecff;
    border: 1px solid #dedaff;
    padding: 12px 15px;
    border-radius: 12px;
    margin-bottom: 17px;
    font-size: 12px
}

.notice span {
    color: #65627c;
    flex: 1
}

.notice button,
.textbtn {
    border: 0;
    background: none;
    color: var(--primary);
    font-weight: 750;
    cursor: pointer
}

.stat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 13px
}

.stat {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 15px;
    padding: 17px
}

.stat.featured {
    background: linear-gradient(135deg, #5b4df5, #7c3aed);
    color: #fff
}

.stat span {
    font-size: 11px;
    color: var(--muted)
}

.stat.featured span,
.stat.featured small {
    color: #dedbff
}

.stat b {
    display: block;
    font-size: 24px;
    margin: 6px 0
}

.stat small {
    font-size: 10px;
    color: #8a8f9b
}

.content-grid {
    display: grid;
    grid-template-columns: 1.45fr .85fr;
    gap: 14px;
    margin-top: 14px
}

.nosection {
    padding: 20px !important
}

.card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 15px;
    box-shadow: 0 5px 20px #11182708
}

.cardhead h3 {
    margin: 4px 0 12px;
    font-size: 17px
}

.package-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin: 13px 0 16px
}

.package-stats small,
.package-stats b {
    display: block
}

.package-stats small {
    font-size: 10px;
    color: var(--muted)
}

.package-stats b {
    font-size: 12px;
    margin-top: 3px
}

.progress {
    height: 8px;
    background: #eceef3;
    border-radius: 99px;
    overflow: hidden
}

.progress i {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--primary), var(--primary2));
    border-radius: 99px
}

.progresslabels {
    display: flex;
    justify-content: space-between;
    color: var(--muted);
    font-size: 9px;
    margin-top: 7px
}

.donutrow {
    display: flex;
    align-items: center;
    gap: 22px
}

.donut {
    width: 112px;
    height: 112px;
    border-radius: 50%;
    background: conic-gradient(#5b4df5 0 80%, #c8c3ff 80% 100%);
    display: grid;
    place-items: center;
    position: relative
}

.donut:after {
    content: "";
    position: absolute;
    width: 76px;
    height: 76px;
    background: #fff;
    border-radius: 50%
}

.donut span {
    z-index: 1;
    font-weight: 800;
    text-align: center
}

.donut small {
    display: block;
    font-size: 9px;
    color: var(--muted)
}

.legend {
    flex: 1
}

.legend div {
    display: grid;
    grid-template-columns: 8px 1fr auto;
    gap: 7px;
    align-items: center;
    font-size: 10px;
    margin: 10px 0
}

.legend i {
    width: 7px;
    height: 7px;
    background: #5b4df5;
    border-radius: 50%
}

.legend div:nth-child(2) i {
    background: #c8c3ff
}

.taskprogress {
    display: flex;
    align-items: center;
    gap: 10px
}

.taskprogress>div {
    height: 7px;
    flex: 1;
    background: #eceef3;
    border-radius: 99px;
    overflow: hidden
}

.taskprogress i {
    display: block;
    height: 100%;
    background: var(--primary)
}

.taskprogress b {
    font-size: 10px
}

.adbox {
    display: flex;
    align-items: center;
    gap: 11px;
    border-top: 1px solid var(--border);
    padding: 12px 0
}

.adthumb {
    width: 40px;
    height: 40px;
    border-radius: 9px;
    background: #eeecff;
    color: var(--primary);
    display: grid;
    place-items: center
}

.adcopy {
    display: flex;
    flex-direction: column;
    flex: 1
}

.adcopy b {
    font-size: 12px
}

.adcopy small {
    font-size: 9px;
    color: var(--muted);
    margin-top: 3px
}

.tiny {
    padding: 7px 10px;
    font-size: 10px
}

.refbox {
    background: #f7f7fb;
    border-radius: 12px;
    padding: 15px
}

.refbox small,
.refbox strong {
    display: block
}

.refbox strong {
    font-size: 24px;
    margin: 4px 0 12px
}

.refbox div {
    display: flex
}

.refbox input {
    min-width: 0;
    flex: 1;
    border: 1px solid var(--border);
    padding: 9px;
    border-radius: 8px 0 0 8px;
    font-size: 10px
}

.refbox button {
    border: 0;
    background: #17162a;
    color: #fff;
    padding: 0 12px;
    border-radius: 0 8px 8px 0
}

.fine {
    font-size: 9px;
    color: var(--muted);
    line-height: 1.5
}

.wide {
    margin-top: 14px
}

.metric {
    text-align: right
}

.metric b,
.metric small {
    display: block
}

.metric small {
    font-size: 9px;
    color: var(--muted)
}

.leveltable {
    overflow: auto
}

.levelrow {
    display: grid;
    grid-template-columns: .6fr .8fr 1.3fr .7fr 1fr;
    min-width: 600px;
    border-top: 1px solid var(--border);
    padding: 10px 5px;
    font-size: 11px
}

.levelrow.head {
    color: var(--muted);
    font-size: 9px
}

.plus {
    color: var(--green);
    font-weight: 800
}

table {
    width: 100%;
    border-collapse: collapse
}

th,
td {
    text-align: left;
    padding: 11px 6px;
    border-bottom: 1px solid var(--border);
    font-size: 10px
}

th {
    color: var(--muted);
    font-size: 9px
}

.walletbalance {
    background: #17162a;
    color: #fff;
    padding: 14px;
    border-radius: 11px
}

.walletbalance small,
.walletbalance b {
    display: block
}

.walletbalance small {
    color: #aaa7c9;
    font-size: 9px
}

.walletbalance b {
    font-size: 22px;
    margin-top: 4px
}

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

.profilegrid div {
    padding: 12px;
    background: #f8f9fb;
    border-radius: 10px
}

.profilegrid small,
.profilegrid b {
    display: block
}

.profilegrid small {
    font-size: 9px;
    color: var(--muted)
}

.profilegrid b {
    font-size: 11px;
    margin-top: 4px
}

.dashfoot {
    text-align: center;
    color: #9ca3af;
    font-size: 9px;
    margin: 25px
}

@media(max-width:1100px) {
    .plans {
        grid-template-columns: repeat(2, 1fr)
    }

    .grid4 {
        grid-template-columns: repeat(2, 1fr)
    }

    .level-strip {
        grid-template-columns: repeat(5, 1fr)
    }

    .stat-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:850px) {
    .navlinks>a:not(.btn) {
        display: none
    }

    .hero {
        grid-template-columns: 1fr;
        gap: 35px
    }

    .feature-grid {
        grid-template-columns: 1fr 1fr
    }

    .calc {
        grid-template-columns: 1fr
    }

    .layout {
        grid-template-columns: 1fr
    }

    .sidebar {
        height: auto;
        position: relative
    }

    .member,
    .side-help,
    .logout {
        display: none
    }

    .sidebar .brand {
        padding-bottom: 12px
    }

    .menu-wrap {
        flex-direction: row;
        overflow: auto
    }

    .sidebar a.menu {
        white-space: nowrap
    }

    .main {
        padding: 18px
    }

    .content-grid {
        grid-template-columns: 1fr
    }

    .package-stats {
        grid-template-columns: 1fr 1fr
    }

    .cta {
        flex-direction: column;
        align-items: flex-start
    }

    footer {
        grid-template-columns: 1fr 1fr
    }

    .profilegrid {
        grid-template-columns: 1fr 1fr
    }
}

@media(max-width:560px) {
    h1 {
        font-size: 43px;
        letter-spacing: -2px
    }

    .hero {
        padding-top: 50px
    }

    .trust {
        gap: 20px
    }

    .mini-grid,
    .grid4,
    .plans,
    .feature-grid,
    .stat-grid {
        grid-template-columns: 1fr
    }

    .level-strip {
        grid-template-columns: repeat(2, 1fr)
    }

    .logos {
        overflow: auto;
        justify-content: flex-start;
        gap: 28px
    }

    .topbar .userchip {
        display: none
    }

    .notice button {
        display: none
    }

    .package-stats,
    .profilegrid {
        grid-template-columns: 1fr
    }

    .donutrow {
        flex-direction: column;
        align-items: flex-start
    }

    footer {
        grid-template-columns: 1fr
    }

    .cta {
        padding: 55px 28px
    }
}

/* ===== Premium Aurora Gradient Theme ===== */
:root {
    --bg: #f7f8ff;
    --card: #ffffff;
    --text: #101327;
    --muted: #697089;
    --primary: #6d5dfc;
    --primary2: #a855f7;
    --primary3: #14b8a6;
    --navy: #101327;
    --border: #e8e9f5;
    --green: #0f9f78;
    --soft: #f7f5ff;
    --amber: #c27a17;
    --glow: rgba(109, 93, 252, .22)
}

body {
    background: linear-gradient(180deg, #fff 0%, #faf9ff 42%, #f5f8ff 100%)
}

nav {
    background: rgba(255, 255, 255, .78);
    border-bottom: 1px solid rgba(109, 93, 252, .12);
    box-shadow: 0 8px 30px rgba(42, 35, 95, .05)
}

.brand>span,
.btn {
    background: linear-gradient(135deg, #5b5cf6 0%, #8b5cf6 48%, #d946ef 100%);
    box-shadow: 0 10px 28px rgba(109, 93, 252, .28)
}

.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 34px rgba(109, 93, 252, .34)
}

.btn {
    transition: .22s ease
}

.btn.ghost,
.btn.outline {
    background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #7c6cff, #d946ef) border-box;
    border: 1px solid transparent;
    color: #6756e8
}

.hero {
    background: radial-gradient(circle at 8% 8%, rgba(20, 184, 166, .13), transparent 27%), radial-gradient(circle at 86% 8%, rgba(217, 70, 239, .15), transparent 31%), radial-gradient(circle at 72% 78%, rgba(109, 93, 252, .12), transparent 28%), linear-gradient(145deg, #fbfcff, #fff8ff)
}

.pill {
    background: linear-gradient(135deg, #ecebff, #faeaff);
    color: #6756e8;
    border: 1px solid rgba(109, 93, 252, .12)
}

.hero-panel {
    border: 1px solid rgba(109, 93, 252, .17);
    background: linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(249, 247, 255, .88));
    box-shadow: 0 32px 90px rgba(91, 76, 180, .18)
}

.balance,
.calc,
.walletbalance {
    background: radial-gradient(circle at 85% 15%, rgba(217, 70, 239, .34), transparent 32%), linear-gradient(135deg, #17152f 0%, #34286e 55%, #51319a 100%);
    box-shadow: 0 18px 45px rgba(36, 25, 92, .2)
}

.fakechart i,
.progress i {
    background: linear-gradient(180deg, #d946ef 0%, #8b5cf6 45%, #5b5cf6 100%)
}

.section-kicker {
    background: linear-gradient(90deg, #5b5cf6, #d946ef);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}

.soft {
    background: radial-gradient(circle at 12% 10%, rgba(20, 184, 166, .08), transparent 24%), radial-gradient(circle at 88% 15%, rgba(217, 70, 239, .09), transparent 28%), linear-gradient(180deg, #fbfbff, #f6f5ff)
}

.grid4 article,
.feature-grid article,
.plan,
.card,
.auth-card,
.stat {
    border-color: rgba(109, 93, 252, .11);
    box-shadow: 0 12px 35px rgba(39, 32, 93, .06)
}

.grid4 article:hover,
.feature-grid article:hover,
.plan:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 50px rgba(73, 57, 150, .12);
    border-color: rgba(109, 93, 252, .25)
}

.grid4 article,
.feature-grid article,
.plan {
    transition: .24s ease
}

.icon,
.adthumb {
    background: linear-gradient(135deg, #ecebff, #fae9ff);
    color: #6d5dfc
}

.plan.popular {
    border: 1px solid transparent;
    background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #6d5dfc, #d946ef) border-box;
    box-shadow: 0 18px 55px rgba(109, 93, 252, .14)
}

.pop {
    background: linear-gradient(135deg, #5b5cf6, #d946ef)
}

.level-strip div {
    background: linear-gradient(145deg, #17152f, #352b70);
    box-shadow: 0 10px 24px rgba(37, 27, 92, .12)
}

.cta {
    background: radial-gradient(circle at 85% 15%, rgba(217, 70, 239, .38), transparent 31%), radial-gradient(circle at 15% 80%, rgba(20, 184, 166, .2), transparent 27%), linear-gradient(135deg, #17152f, #392d7b 60%, #6135a5)
}

footer {
    background: linear-gradient(145deg, #0b0c16, #15132b 58%, #21143a)
}

.auth {
    background: radial-gradient(circle at 12% 10%, rgba(20, 184, 166, .15), transparent 30%), radial-gradient(circle at 88% 12%, rgba(217, 70, 239, .17), transparent 34%), linear-gradient(145deg, #f8faff, #fff8ff)
}

.dashbody {
    background: radial-gradient(circle at 95% 0%, rgba(217, 70, 239, .08), transparent 24%), linear-gradient(180deg, #f8f9ff, #f4f6fc)
}

.sidebar {
    background: radial-gradient(circle at 50% -5%, rgba(139, 92, 246, .35), transparent 25%), linear-gradient(180deg, #111225 0%, #17152e 55%, #20143b 100%);
    box-shadow: 14px 0 45px rgba(25, 20, 65, .12)
}

.avatar,
.sidebar em {
    background: linear-gradient(135deg, #5b5cf6, #d946ef)
}

.sidebar a.menu:hover,
.sidebar a.active {
    background: linear-gradient(90deg, rgba(109, 93, 252, .24), rgba(217, 70, 239, .12));
    box-shadow: inset 3px 0 0 #9a7cff
}

.stat.featured {
    background: radial-gradient(circle at 90% 10%, rgba(255, 255, 255, .22), transparent 25%), linear-gradient(135deg, #5b5cf6 0%, #8b5cf6 50%, #d946ef 100%);
    box-shadow: 0 16px 38px rgba(109, 93, 252, .25)
}

.notice {
    background: linear-gradient(90deg, #efefff, #faefff);
    border-color: rgba(109, 93, 252, .17)
}

.donut {
    background: conic-gradient(#6d5dfc 0 55%, #d946ef 55% 80%, #dedcff 80% 100%)
}

.taskprogress i {
    background: linear-gradient(90deg, #5b5cf6, #d946ef)
}

.refbox,
.profilegrid div {
    background: linear-gradient(145deg, #fafaff, #f7f5ff)
}

.refbox button {
    background: linear-gradient(135deg, #28224f, #5d3ca2)
}

/* ===== Premium Red & Black Theme ===== */
:root {
    --bg: #090909;
    --card: #121212;
    --text: #f7f7f7;
    --muted: #a1a1aa;
    --primary: #ff1f3d;
    --primary2: #b4001e;
    --primary3: #ff5a67;
    --navy: #080808;
    --border: #292929;
    --green: #22c55e;
    --soft: #0d0d0f;
    --amber: #f59e0b;
    --glow: rgba(255, 31, 61, .24)
}

body {
    background: linear-gradient(180deg, #090909 0%, #0e0e10 50%, #080808 100%);
    color: var(--text)
}

nav {
    background: rgba(8, 8, 8, .84);
    border-bottom: 1px solid rgba(255, 31, 61, .2);
    box-shadow: 0 10px 35px rgba(0, 0, 0, .3)
}

.brand>span,
.btn {
    background: linear-gradient(135deg, #ff314b 0%, #e00028 52%, #8b0018 100%);
    box-shadow: 0 10px 30px rgba(255, 31, 61, .22)
}

.btn:hover {
    box-shadow: 0 14px 38px rgba(255, 31, 61, .34)
}

.btn.ghost,
.btn.outline {
    background: linear-gradient(#111, #111) padding-box, linear-gradient(135deg, #ff314b, #740014) border-box;
    color: #ff6276
}

.hero {
    background: radial-gradient(circle at 86% 8%, rgba(255, 31, 61, .18), transparent 31%), radial-gradient(circle at 7% 20%, rgba(151, 0, 25, .14), transparent 26%), linear-gradient(145deg, #080808, #111 58%, #080808)
}

.pill {
    background: rgba(255, 31, 61, .1);
    color: #ff6378;
    border: 1px solid rgba(255, 31, 61, .24)
}

.hero p,
.section-sub,
.grid4 p,
.feature-grid p,
.faq p {
    color: var(--muted)
}

.hero-panel {
    border: 1px solid rgba(255, 31, 61, .2);
    background: linear-gradient(145deg, rgba(21, 21, 21, .96), rgba(10, 10, 10, .94));
    box-shadow: 0 32px 90px rgba(0, 0, 0, .48)
}

.balance,
.calc,
.walletbalance {
    background: radial-gradient(circle at 88% 10%, rgba(255, 31, 61, .3), transparent 31%), linear-gradient(135deg, #080808 0%, #171717 58%, #250008 100%);
    box-shadow: 0 18px 50px rgba(0, 0, 0, .42)
}

.balance small,
.balance span,
.calc p,
.calcbox label,
.calcbox small,
.walletbalance small {
    color: #b8b8bd
}

.mini-grid div,
.calcbox {
    background: #171717
}

.calcbox select {
    background: #0d0d0d;
    color: #fff;
    border-color: #383838
}

.calcbox #calcResult>div {
    border-color: #303030
}

.fakechart i,
.progress i {
    background: linear-gradient(180deg, #ff5b70, #ef1738 48%, #870018)
}

.section-kicker {
    background: linear-gradient(90deg, #ff263f, #ff7181);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}

.soft {
    background: radial-gradient(circle at 90% 10%, rgba(255, 31, 61, .08), transparent 25%), linear-gradient(180deg, #0d0d0e, #090909)
}

.grid4 article,
.feature-grid article,
.plan,
.card,
.auth-card,
.stat {
    background: #121212;
    border-color: #292929;
    box-shadow: 0 12px 35px rgba(0, 0, 0, .18)
}

.grid4 article:hover,
.feature-grid article:hover,
.plan:hover {
    box-shadow: 0 20px 50px rgba(255, 31, 61, .09);
    border-color: rgba(255, 31, 61, .38)
}

.icon,
.adthumb {
    background: rgba(255, 31, 61, .1);
    color: #ff5065
}

.plan.popular {
    border: 1px solid transparent;
    background: linear-gradient(#121212, #121212) padding-box, linear-gradient(135deg, #ff314b, #6f0013) border-box;
    box-shadow: 0 18px 55px rgba(255, 31, 61, .1)
}

.pop {
    background: linear-gradient(135deg, #ff314b, #9b001b)
}

.level-strip div {
    background: linear-gradient(145deg, #171717, #230007);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .25)
}

.cta {
    background: radial-gradient(circle at 85% 15%, rgba(255, 31, 61, .28), transparent 31%), linear-gradient(135deg, #080808, #1a0b0e 60%, #2a0008)
}

.cta p {
    color: #bdbdc2
}

.pill.dark {
    background: rgba(255, 255, 255, .07);
    color: #ffd7dc
}

.btn.light {
    background: #fff;
    color: #151515
}

footer {
    background: linear-gradient(145deg, #050505, #0c0c0d 58%, #160005);
    color: #c3c3c7
}

footer p {
    color: #888891
}

footer small {
    border-color: #242424;
    color: #777780
}

.auth {
    background: radial-gradient(circle at 85% 10%, rgba(255, 31, 61, .16), transparent 32%), linear-gradient(145deg, #080808, #101010)
}

.field input,
.field select {
    background: #0d0d0d;
    color: #fff;
    border-color: #343434
}

.auth-note {
    color: var(--muted)
}

.dashbody {
    background: radial-gradient(circle at 95% 0%, rgba(255, 31, 61, .08), transparent 24%), linear-gradient(180deg, #090909, #0d0d0e)
}

.sidebar {
    background: radial-gradient(circle at 50% -5%, rgba(255, 31, 61, .24), transparent 24%), linear-gradient(180deg, #070707 0%, #101010 58%, #180006 100%);
    box-shadow: 14px 0 45px rgba(0, 0, 0, .3)
}

.avatar,
.sidebar em {
    background: linear-gradient(135deg, #ff314b, #9e001c)
}

.sidebar a.menu:hover,
.sidebar a.active {
    background: linear-gradient(90deg, rgba(255, 31, 61, .2), rgba(255, 31, 61, .05));
    box-shadow: inset 3px 0 0 #ff314b
}

.side-help {
    background: #171717
}

.side-help button {
    background: #272727
}

.stat.featured {
    background: radial-gradient(circle at 90% 10%, rgba(255, 255, 255, .12), transparent 25%), linear-gradient(135deg, #ff263f 0%, #c90023 52%, #760014 100%);
    box-shadow: 0 16px 38px rgba(255, 31, 61, .2)
}

.stat span,
.stat small,
.cardhead small,
.plan>small,
.package-stats small,
.progresslabels,
.fine,
th,
.profilegrid small,
.metric small {
    color: var(--muted)
}

.notice {
    background: linear-gradient(90deg, #1a0c0f, #130e0f);
    border-color: rgba(255, 31, 61, .22)
}

.iconbtn,
.userchip {
    background: #121212;
    border-color: #292929;
    color: #fff
}

.donut {
    background: conic-gradient(#ff263f 0 55%, #a6001d 55% 80%, #292929 80% 100%)
}

.donut:after {
    background: #121212
}

.taskprogress>div,
.progress {
    background: #292929
}

.taskprogress i {
    background: linear-gradient(90deg, #ff314b, #a6001d)
}

.adbox,
.levelrow,
th,
td {
    border-color: #292929
}

.refbox,
.profilegrid div {
    background: linear-gradient(145deg, #171717, #101010)
}

.refbox input {
    background: #0d0d0d;
    color: #fff;
    border-color: #333
}

.refbox button {
    background: linear-gradient(135deg, #ff314b, #7d0016)
}

@media(max-width:850px) {
    nav {
        height: 66px;
        padding: 0 18px
    }

    .hero {
        padding-left: 20px;
        padding-right: 20px
    }

    .sidebar {
        position: sticky;
        top: 0;
        z-index: 30;
        padding: 12px 10px
    }

    .sidebar .brand {
        display: none
    }

    .menu-wrap {
        gap: 5px
    }

    .sidebar a.menu {
        padding: 9px 11px;
        background: #121212;
        border: 1px solid #242424
    }

    .main {
        padding: 15px
    }

    .topbar {
        align-items: flex-start
    }

    .hero-panel {
        transform: none
    }

    .actions {
        flex-wrap: wrap
    }
}

@media(max-width:560px) {
    section {
        padding: 58px 20px
    }

    .hero {
        min-height: auto;
        padding: 45px 20px
    }

    .hero h1 {
        font-size: 39px;
        line-height: 1.05
    }

    .hero p {
        font-size: 15px
    }

    .actions .btn {
        flex: 1;
        min-width: 145px
    }

    .trust {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        width: 100%
    }

    .hero-panel {
        padding: 18px;
        border-radius: 18px
    }

    .balance strong {
        font-size: 31px
    }

    .calc {
        padding: 24px 18px
    }

    .topbar h1 {
        font-size: 23px
    }

    .top-actions {
        gap: 6px
    }

    .iconbtn {
        width: 34px;
        height: 34px
    }

    .stat {
        padding: 15px
    }

    .content-grid {
        gap: 11px
    }

    .nosection {
        padding: 16px !important
    }

    .levelrow {
        min-width: 540px
    }

    .adbox {
        align-items: flex-start
    }

    .adbox .btn {
        flex: none
    }

    .sidebar a.menu {
        font-size: 12px
    }

    .sidebar {
        overflow: hidden
    }
}