:root{
    --bg-1:#020611;
    --bg-2:#071224;
    --bg-3:#030816;
    --panel:#081121;
    --panel-2:#0b1730;
    --line:rgba(255,255,255,.07);
    --line-2:rgba(99,190,255,.16);
    --text:#eef4ff;
    --muted:#9eb4d4;
    --primary:#7cd1ff;
    --primary-2:#49a8ff;
    --success:#77f0bb;
    --shadow:0 24px 60px rgba(0,0,0,.35);
    --radius:24px;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    color:var(--text);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Arial,sans-serif;
    background:
        radial-gradient(circle at center, rgba(47,119,255,.15), transparent 32%),
        linear-gradient(180deg, #020611 0%, #071224 55%, #030816 100%);
    min-height:100vh;
}

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

img{
    max-width:100%;
}

.container{
    width:min(1180px, calc(100% - 32px));
    margin:0 auto;
}

.center{
    text-align:center;
}

.narrow{
    max-width:860px;
    margin:0 auto;
}

.muted-note,
.muted{
    color:var(--muted);
    line-height:1.8;
    font-size:17px;
}

.lead{
    color:var(--muted);
    line-height:1.8;
    font-size:18px;
}

.subpage{
    padding:26px 0 60px;
}

/* ===== CURRENT HEADER.PHP COMPAT ===== */

.site-header{
    position:sticky;
    top:0;
    z-index:50;
    backdrop-filter:blur(16px);
    background:rgba(3,8,22,.72);
    border-bottom:1px solid rgba(255,255,255,.06);
}

.container.nav{
    min-height:84px;
    display:flex;
    align-items:center;
    gap:16px;
    position:relative;
}

.brand{
    display:flex;
    align-items:center;
    gap:14px;
    flex-shrink:0;
    min-width:0;
}

.brand-mark{
    width:52px;
    height:52px;
    object-fit:contain;
    display:block;
    border-radius:12px;
    flex-shrink:0;
}

.brand-letter{
    width:52px;
    height:52px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg, #dff8ff, #6ec6ff);
    color:#062041;
    font-size:28px;
    font-weight:900;
    flex-shrink:0;
}

.brand-text{
    font-size:18px;
    font-weight:800;
    letter-spacing:.03em;
    color:#eef4ff;
    white-space:nowrap;
    line-height:1;
}

.menu-toggle{
    appearance:none;
    border:1px solid rgba(99,190,255,.16);
    background:rgba(8,16,33,.56);
    color:#eef4ff;
    width:46px;
    height:46px;
    border-radius:15px;
    display:none;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    font-size:22px;
    line-height:1;
    flex-shrink:0;
    margin-left:auto;
}

.nav-links{
    display:flex;
    align-items:center;
    gap:18px;
    margin-left:auto;
}

.nav-links a{
    color:#eef4ff;
    font-size:16px;
    line-height:1;
    opacity:.92;
    transition:opacity .16s ease, color .16s ease;
    white-space:nowrap;
}

.nav-links a:hover{
    opacity:1;
    color:#ffffff;
}

.nav-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 18px;
    border-radius:15px;
    background:linear-gradient(180deg, #dff8ff, #6ec6ff);
    color:#062041;
    font-weight:800;
    white-space:nowrap;
    box-shadow:0 16px 34px rgba(68,170,255,.22);
    flex-shrink:0;
    margin-left:12px;
}

/* BUTTONS */
.primary-btn,
.secondary-btn,
.ghost-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:48px;
    padding:0 18px;
    border-radius:16px;
    font-weight:800;
    transition:transform .16s ease, opacity .16s ease, box-shadow .16s ease, border-color .16s ease;
    cursor:pointer;
}

.primary-btn{
    border:none;
    color:#062041;
    background:linear-gradient(180deg, #dff8ff, #6ec6ff);
    box-shadow:0 16px 34px rgba(68,170,255,.26);
}

.secondary-btn{
    border:1px solid var(--line-2);
    color:var(--text);
    background:rgba(8,16,33,.56);
}

.ghost-btn{
    border:1px solid var(--line-2);
    color:var(--text);
    background:transparent;
}

.primary-btn:hover,
.secondary-btn:hover,
.ghost-btn:hover{
    transform:translateY(-1px);
}

/* ALERTS */
.alert,
.alert-error,
.alert-ok{
    padding:14px 16px;
    border-radius:18px;
    margin-top:18px;
}

.alert-error{
    background:rgba(255,100,100,.12);
    border:1px solid rgba(255,100,100,.22);
    color:#ffd7d7;
}

.alert-ok{
    background:rgba(73,190,140,.14);
    border:1px solid rgba(73,190,140,.24);
    color:#dfffea;
}

/* CARDS */
.form-card,
.card,
.history-card,
.rank-card,
.stat-card{
    padding:22px;
    border-radius:24px;
    background:linear-gradient(180deg, rgba(10,18,37,.82), rgba(7,13,29,.94));
    border:1px solid rgba(99,190,255,.14);
    box-shadow:var(--shadow);
}

.form-card{
    padding:28px;
}

.card h1,
.form-card h1{
    margin:0 0 10px;
    font-size:clamp(30px,4vw,48px);
    line-height:1;
}

.card h2,
.form-card h2{
    margin:0 0 12px;
    font-size:30px;
}

.card h3,
.form-card h3{
    margin:0 0 10px;
    font-size:24px;
}

/* TOOLBAR */
.toolbar{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    align-items:center;
}

/* GRID HELPERS */
.grid{
    display:grid;
    gap:18px;
}

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

.grid.cols-3{
    grid-template-columns:repeat(3, 1fr);
}

.grid.cols-4{
    grid-template-columns:repeat(4, 1fr);
}

/* INFO / ROWS */
.info-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:10px 14px;
}

.info-row{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    border-radius:16px;
    background:rgba(7,13,29,.48);
    border:1px solid rgba(255,255,255,.05);
}

.info-row strong{
    color:var(--muted);
}

.item-list{
    display:grid;
    gap:14px;
}

.shop-row{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start;
    padding:16px 0;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.shop-row:last-child{
    border-bottom:none;
    padding-bottom:0;
}

.item-meta{
    color:var(--muted);
    line-height:1.7;
    margin-top:6px;
    font-size:14px;
}

/* DASHBOARD HERO */
.dashboard-hero,
.ranking-hero{
    position:relative;
    overflow:hidden;
    padding:28px;
    border-radius:28px;
    border:1px solid rgba(124,209,255,.18);
    background:
        radial-gradient(circle at top left, rgba(79,168,255,.14), transparent 28%),
        radial-gradient(circle at bottom right, rgba(143,84,255,.10), transparent 30%),
        linear-gradient(180deg, rgba(10,18,37,.92), rgba(7,13,29,.98));
    box-shadow:var(--shadow);
}

.dashboard-kicker,
.ranking-kicker{
    display:inline-flex;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(73,168,255,.12);
    border:1px solid rgba(73,168,255,.22);
    color:#dff6ff;
    font-size:13px;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.dashboard-title,
.ranking-title{
    margin:16px 0 10px;
    font-size:clamp(32px,4vw,50px);
    line-height:1;
}

.dashboard-sub,
.ranking-sub{
    margin:0;
    color:var(--muted);
    font-size:18px;
    line-height:1.7;
}

.dashboard-hero-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:24px;
    align-items:center;
}

.hero-panel{
    margin-top:20px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}

.hero-box{
    padding:16px;
    border-radius:20px;
    background:rgba(7,13,29,.55);
    border:1px solid rgba(99,190,255,.12);
}

.hero-box strong{
    display:block;
    color:var(--muted);
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:8px;
}

.hero-box span{
    font-size:22px;
    font-weight:800;
}

/* CHARACTER SWITCHER */
.character-switcher{
    margin-top:18px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.switch-chip{
    appearance:none;
    border:none;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 14px;
    border-radius:999px;
    background:rgba(7,13,29,.58);
    border:1px solid rgba(99,190,255,.14);
    color:#dff6ff;
    transition:transform .16s ease,border-color .16s ease,background .16s ease;
}

.switch-chip:hover{
    transform:translateY(-1px);
    border-color:rgba(124,209,255,.28);
}

.switch-chip.active{
    background:rgba(73,168,255,.16);
    border-color:rgba(124,209,255,.34);
}

.switch-chip img{
    width:34px;
    height:34px;
    object-fit:contain;
    filter:drop-shadow(0 0 10px rgba(73,168,255,.16));
}

/* MAIN CHARACTER */
.main-character-wrap{
    display:flex;
    align-items:flex-end;
    justify-content:center;
    min-height:440px;
    position:relative;
}

.main-character-wrap::before{
    content:'';
    position:absolute;
    inset:auto 10% 5% 10%;
    height:46px;
    background:radial-gradient(circle, var(--class-glow, rgba(73,168,255,.28)), transparent 70%);
    filter:blur(20px);
}

.main-character-img{
    max-height:470px;
    width:auto;
    object-fit:contain;
    position:relative;
    z-index:2;
    animation:floatChar 4s ease-in-out infinite;
    filter:drop-shadow(0 0 38px var(--class-glow, rgba(73,168,255,.28)));
}

@keyframes floatChar{
    0%{transform:translateY(0)}
    50%{transform:translateY(-10px)}
    100%{transform:translateY(0)}
}

/* STATS */
.stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-top:24px;
}

.stat-card{
    text-align:center;
}

.stat-label{
    color:var(--muted);
    font-size:15px;
    margin-bottom:14px;
    line-height:1.5;
}

.stat-value{
    font-size:34px;
    font-weight:900;
    line-height:1;
    margin-top:12px;
}

/* CHARACTER ROWS */
.section-title{
    margin:34px 0 14px;
    font-size:30px;
}

.character-list{
    display:grid;
    gap:18px;
}

.character-row{
    display:grid;
    grid-template-columns:180px 1fr auto;
    gap:18px;
    align-items:center;
    padding:20px;
    border-radius:26px;
    background:linear-gradient(180deg, rgba(10,18,37,.82), rgba(7,13,29,.94));
    border:1px solid rgba(99,190,255,.14);
    box-shadow:var(--shadow);
    transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.character-row:hover{
    transform:translateY(-2px);
    border-color:rgba(124,209,255,.28);
    box-shadow:0 28px 70px rgba(0,0,0,.42);
}

.character-row.active-main{
    border-color:rgba(124,209,255,.32);
    box-shadow:0 30px 72px rgba(0,0,0,.46);
}

.character-art{
    display:flex;
    align-items:flex-end;
    justify-content:center;
    min-height:180px;
    border-radius:20px;
    background:
        radial-gradient(circle at center, var(--class-glow, rgba(73,168,255,.14)), transparent 60%),
        rgba(7,13,29,.45);
    border:1px solid rgba(99,190,255,.10);
    overflow:hidden;
}

.character-art img{
    max-height:190px;
    width:auto;
    object-fit:contain;
    filter:drop-shadow(0 0 18px var(--class-glow, rgba(73,168,255,.18)));
}

.character-head{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    margin-bottom:10px;
}

.character-head h3{
    margin:0;
    font-size:30px;
    line-height:1;
}

.level-pill{
    display:inline-flex;
    align-items:center;
    padding:8px 14px;
    border-radius:999px;
    font-size:14px;
    font-weight:700;
    border:1px solid rgba(255,255,255,.10);
}

.tier-default{background:rgba(255,255,255,.06); color:#e8eef8;}
.tier-blue{background:rgba(73,168,255,.16); color:#dff6ff;}
.tier-purple{background:rgba(140,84,255,.16); color:#f0e4ff;}
.tier-gold{background:rgba(255,198,80,.16); color:#fff1c4;}

.char-badges{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:10px 0 16px;
}

.char-badge{
    display:inline-flex;
    align-items:center;
    padding:8px 12px;
    border-radius:999px;
    border:1px solid rgba(99,190,255,.18);
    background:rgba(8,16,33,.56);
    color:#dff6ff;
    font-size:13px;
}

.character-side{
    min-width:180px;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.side-card{
    padding:14px;
    border-radius:18px;
    background:rgba(7,13,29,.48);
    border:1px solid rgba(255,255,255,.05);
}

.side-card strong{
    display:block;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:8px;
}

.side-card span{
    font-size:22px;
    font-weight:800;
}

.switch-btn{
    appearance:none;
    border:none;
    cursor:pointer;
    width:100%;
    padding:12px 14px;
    border-radius:16px;
    background:linear-gradient(180deg, #dff8ff, #6ec6ff);
    color:#062041;
    font-weight:900;
    box-shadow:0 16px 34px rgba(68,170,255,.26);
}

.switch-btn.alt{
    background:rgba(8,16,33,.56);
    color:#dff6ff;
    border:1px solid rgba(99,190,255,.16);
    box-shadow:none;
}

/* HISTORY */
.history-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-top:18px;
}

.history-row{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start;
    padding:14px 0;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.history-row:last-child{
    border-bottom:none;
    padding-bottom:0;
}

/* RANKING */
.ranking-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:24px;
}

.rank-card h2{
    margin:0 0 16px;
    font-size:28px;
}

.rank-row{
    display:grid;
    grid-template-columns:56px 1fr auto;
    gap:12px;
    align-items:center;
    padding:14px 0;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.rank-row:last-child{
    border-bottom:none;
    padding-bottom:0;
}

.rank-pos{
    width:44px;
    height:44px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
    background:rgba(73,168,255,.12);
    border:1px solid rgba(124,209,255,.22);
    color:#dff6ff;
}

.rank-pos.top1{background:rgba(255,214,102,.16); border-color:rgba(255,214,102,.35); color:#ffe9a6;}
.rank-pos.top2{background:rgba(200,210,230,.14); border-color:rgba(200,210,230,.28); color:#e7edf9;}
.rank-pos.top3{background:rgba(205,127,50,.18); border-color:rgba(205,127,50,.30); color:#ffd1a2;}

.rank-main{
    min-width:0;
}

.rank-name{
    font-size:18px;
    font-weight:800;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.rank-meta{
    color:var(--muted);
    margin-top:4px;
    font-size:14px;
}

.rank-value{
    text-align:right;
}

.rank-value strong{
    display:block;
    font-size:20px;
}

.rank-value span{
    color:var(--muted);
    font-size:13px;
}

/* ADMIN */
.admin-shell{
    display:grid;
    grid-template-columns:280px 1fr;
    min-height:100vh;
}

.sidebar{
    padding:24px 18px;
    background:rgba(5,10,20,.96);
    border-right:1px solid rgba(255,255,255,.05);
    position:sticky;
    top:0;
    height:100vh;
}

.content{
    padding:24px;
}

.side-nav{
    display:grid;
    gap:8px;
    margin-top:24px;
}

.side-nav a{
    padding:12px 14px;
    border-radius:14px;
    border:1px solid transparent;
    color:var(--text);
}

.side-nav a.active,
.side-nav a:hover{
    background:rgba(73,168,255,.12);
    border-color:rgba(124,209,255,.22);
}

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

/* TABLET */
@media (max-width: 1180px){
    .dashboard-hero-grid{grid-template-columns:1fr}
    .stats-grid{grid-template-columns:repeat(2,1fr)}
    .character-row{grid-template-columns:1fr}
    .character-side{
        min-width:0;
        flex-direction:row;
        flex-wrap:wrap;
    }
    .character-side .side-card{
        flex:1 1 150px;
    }
    .history-grid,
    .ranking-grid,
    .grid.cols-3,
    .grid.cols-4{
        grid-template-columns:1fr;
    }
    .grid.cols-2{
        grid-template-columns:1fr;
    }
    .admin-shell{
        grid-template-columns:1fr;
    }
    .sidebar{
        position:relative;
        top:auto;
        height:auto;
    }
}

/* MOBILE HEADER */
@media (max-width: 900px){
    .container.nav{
        min-height:78px;
        flex-wrap:wrap;
        padding-top:10px;
        padding-bottom:10px;
    }

    .menu-toggle{
        display:inline-flex;
        order:3;
    }

    .brand{
        order:1;
    }

    .nav-cta{
        order:2;
        min-height:42px;
        padding:0 14px;
        font-size:14px;
        margin-left:auto;
    }

    .nav-links{
        order:4;
        width:100%;
        display:none;
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
        padding:14px;
        margin-top:10px;
        margin-left:0;
        border-radius:18px;
        background:rgba(7,13,29,.98);
        border:1px solid rgba(99,190,255,.12);
    }

    .nav-links.is-open{
        display:flex;
    }

    .nav-links a{
        font-size:16px;
    }

    .brand-mark,
    .brand-letter{
        width:44px;
        height:44px;
    }

    .brand-text{
        font-size:16px;
    }
}

@media (max-width: 720px){
    .container{
        width:min(100% - 16px, 1180px);
    }

    .hero-panel,
    .stats-grid,
    .info-grid,
    .grid.cols-2,
    .grid.cols-3,
    .grid.cols-4,
    .ranking-grid,
    .history-grid{
        grid-template-columns:1fr;
    }

    .character-head h3{
        font-size:24px;
    }

    .main-character-wrap{
        min-height:320px;
    }

    .main-character-img{
        max-height:340px;
    }

    .switch-chip{
        width:100%;
        justify-content:flex-start;
    }

    .rank-row{
        grid-template-columns:48px 1fr;
    }

    .rank-value{
        grid-column:2;
        text-align:left;
    }
}

@media (max-width: 560px){
    .container.nav{
        gap:10px;
    }

    .brand-mark,
    .brand-letter{
        width:40px;
        height:40px;
        border-radius:10px;
    }

    .brand-text{
        font-size:15px;
    }

    .nav-cta{
        padding:0 12px;
        font-size:13px;
    }
}

/* ===== INDEX / HOME FIX ===== */

main{
    display:block;
}

.hero{
    position:relative;
    overflow:hidden;
    padding:48px 0 32px;
    min-height:280px;
    background:
        linear-gradient(180deg, rgba(3,8,20,.30), rgba(3,8,20,.55)),
        url('hero.png') center center / cover no-repeat;
    background-position: center top;
}

.hero::before{
    content:'';
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 15% 20%, rgba(73,168,255,.16), transparent 22%),
        radial-gradient(circle at 80% 30%, rgba(124,209,255,.10), transparent 24%),
        radial-gradient(circle at 50% 100%, rgba(73,168,255,.10), transparent 35%);
    pointer-events:none;
}
.hero::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom, transparent 60%, #030816 100%);
    pointer-events:none;
}
.hero-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg, rgba(2,6,17,.42), rgba(2,6,17,.74)),
        radial-gradient(circle at center, rgba(47,119,255,.10), transparent 52%);
    pointer-events:none;
}

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

.hero-copy{
    max-width:760px;
    margin:0 auto;
    text-align:center;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 18px;
    border-radius:999px;
    background:rgba(73,168,255,.10);
    border:1px solid rgba(99,190,255,.18);
    color:#dff6ff;
    font-size:14px;
    letter-spacing:.04em;
    margin-bottom:20px;
}

.hero h1{
    margin:0 0 16px;
    font-size:clamp(52px, 8vw, 88px);
    line-height:1;
    font-weight:900;
    color:#eef4ff;
    text-shadow: 0 0 30px rgba(124, 209, 255, .25);
}

.hero p{
    margin:0;
    color:var(--muted);
    font-size:clamp(16px, 2.5vw, 22px);
    line-height:1.5;
    opacity: 0.85;
}

.hero-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:22px;
    padding:12px 18px;
    border-radius:999px;
    background:rgba(7,13,29,.58);
    border:1px solid rgba(99,190,255,.14);
    color:#dff6ff;
    font-size:15px;
    line-height:1.4;
}

.hero-buttons{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin-top:24px;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 22px;
    border-radius:16px;
    font-weight:800;
    transition:transform .16s ease, opacity .16s ease, box-shadow .16s ease;
}

.btn:hover{
    transform:translateY(-1px);
}

.btn-primary{
    background:linear-gradient(180deg, #dff8ff, #6ec6ff);
    color:#062041;
    box-shadow:0 16px 34px rgba(68,170,255,.26);
}

.btn-secondary{
    background:rgba(8,16,33,.56);
    color:#eef4ff;
    border:1px solid rgba(99,190,255,.16);
}

.section{
    padding:28px 0 60px;
}

.section h2{
    margin:0 0 14px;
    font-size:clamp(34px, 5vw, 56px);
    line-height:1.08;
    color:#eef4ff;
}

.card-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
    margin-top:28px;
}

.card-grid .card{
    text-align:center;
}

.card-grid .card h3{
    margin-bottom:14px;
}

.card-grid .card p{
    margin:0;
    color:var(--muted);
    line-height:1.8;
    font-size:17px;
}

/* AUTH / LOGIN / REGISTER FIX */
.form-card form,
.auth-form{
    display:flex;
    flex-direction:column;
    gap:18px;
    margin-top:22px;
}

.form-card label,
.auth-form label{
    display:block;
    margin:0 0 8px;
    color:var(--text);
    font-size:16px;
    font-weight:700;
}

.form-card input[type="text"],
.form-card input[type="email"],
.form-card input[type="password"],
.form-card input[type="number"],
.auth-form input[type="text"],
.auth-form input[type="email"],
.auth-form input[type="password"],
.auth-form input[type="number"]{
    width:100%;
    min-height:54px;
    padding:0 16px;
    border-radius:16px;
    border:1px solid rgba(99,190,255,.16);
    background:rgba(255,255,255,.96);
    color:#06162d;
    font-size:17px;
    outline:none;
    box-shadow:none;
}

.form-card input:focus,
.auth-form input:focus{
    border-color:rgba(124,209,255,.55);
    box-shadow:0 0 0 4px rgba(73,168,255,.12);
}

.form-card .form-row,
.auth-form .form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.form-card .form-group,
.auth-form .form-group{
    display:flex;
    flex-direction:column;
}

.form-card button,
.form-card input[type="submit"],
.auth-form button,
.auth-form input[type="submit"]{
    width:100%;
    min-height:56px;
    padding:0 18px;
    border:none;
    border-radius:18px;
    background:linear-gradient(180deg, #dff8ff, #6ec6ff);
    color:#062041;
    font-size:18px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 16px 34px rgba(68,170,255,.26);
}

.form-card button:hover,
.form-card input[type="submit"]:hover,
.auth-form button:hover,
.auth-form input[type="submit"]:hover{
    transform:translateY(-1px);
}

.form-card small,
.form-card .help-text,
.auth-form small,
.auth-form .help-text{
    color:var(--muted);
    font-size:14px;
    line-height:1.6;
}

.form-card p a,
.auth-form p a{
    color:#dff6ff;
    text-decoration:underline;
    text-underline-offset:3px;
}

/* RESPONSIVE FINISH */
@media (max-width: 900px){
    .hero{
        padding:52px 0 36px;
        min-height:auto;
    }

    .hero h1{
        font-size:clamp(42px, 10vw, 64px);
    }

    .hero p{
        font-size:clamp(18px, 5vw, 24px);
    }

    .card-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 560px){
    .hero-copy{
        text-align:left;
    }

    .eyebrow,
    .hero-badge{
        justify-content:flex-start;
    }

    .hero-buttons{
        justify-content:flex-start;
    }

    .btn{
        width:100%;
    }

    .section h2{
        text-align:center;
    }
}

@media (max-width: 720px){
    .form-card .form-row,
    .auth-form .form-row{
        grid-template-columns:1fr;
    }
}
