*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{

    --bg:#111315;

    --panel:#1a1d22;

    --panel2:#20242b;

    --border:#2a2f36;

    --text:#f3f4f6;

    --muted:#8b95a7;

    --green:#00c076;

    --red:#ff5b6e;

    --yellow:#f0b90b;

    --yellow-hover:#ffd44d;

    --shadow:
        0 8px 24px rgba(0,0,0,0.28);
}

body{

    background:
        radial-gradient(
            circle at top left,
            rgba(240,185,11,0.04),
            transparent 28%
        ),
        #111315;

    color:var(--text);

    font-family:
        "Inter",
        "Segoe UI",
        sans-serif;

    min-height:100vh;

    overflow-x:hidden;

    position:relative;

    -webkit-font-smoothing:antialiased;

    text-rendering:optimizeLegibility;
}

/* ===== SUBTLE GRID ===== */

body::before{

    content:"";

    position:fixed;

    inset:0;

    background-image:
        linear-gradient(
            rgba(255,255,255,0.012) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,0.012) 1px,
            transparent 1px
        );

    background-size:40px 40px;

    opacity:0.25;

    pointer-events:none;

    z-index:-1;
}

/* ===== APP ===== */

.app{

    width:100%;

    max-width:1800px;

    margin:auto;

    padding:24px;
}

/* ===== HEADER ===== */

.header{

    margin-bottom:24px;
}

.header-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;
}

h1{

    display:flex;

    align-items:center;

    gap:14px;

    font-size:34px;

    font-weight:700;

    color:white;

    letter-spacing:-1px;
}

.live-dot{

    width:12px;
    height:12px;

    border-radius:50%;

    background:var(--green);

    box-shadow:
        0 0 14px rgba(0,255,128,0.55);

    animation:pulse 1.3s infinite;
}

@keyframes pulse{

    0%{
        opacity:1;
    }

    50%{
        opacity:0.35;
    }

    100%{
        opacity:1;
    }
}

.stats-btn{

    background:var(--panel2);

    border:
        1px solid rgba(255,255,255,0.05);

    color:var(--text);

    text-decoration:none;

    padding:14px 18px;

    border-radius:14px;

    font-weight:600;

    transition:
        background-color 0.15s,
        border-color 0.15s,
        transform 0.15s;
}

.stats-btn:hover{

    transform:translateY(-1px);

    border-color:
        rgba(240,185,11,0.18);

    background:#262b33;
}

/* ===== CARDS ===== */

.card{

    background:var(--panel);

    border:
        1px solid rgba(255,255,255,0.04);

    border-radius:20px;

    padding:22px;

    margin-bottom:22px;

    position:relative;

    overflow:hidden;

    box-shadow:var(--shadow);

    transform:translateZ(0);

    will-change:transform;
}

.card::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,0.06),
            transparent
        );
}

.card h2{

    font-size:13px;

    font-weight:700;

    color:#c5ccd6;

    margin-bottom:18px;

    text-transform:uppercase;

    letter-spacing:1px;
}

/* ===== GRID ===== */

.top-row{

    display:grid;

    grid-template-columns:360px 1fr;

    gap:22px;
}

/* ===== INPUTS ===== */

input,
select{

    width:100%;

    margin-top:10px;

    padding:15px 18px;

    background:#121417;

    border:
        1px solid transparent;

    border-radius:14px;

    color:white;

    outline:none;

    font-family:inherit;

    font-size:14px;

    transition:
        border-color 0.15s,
        background-color 0.15s,
        transform 0.15s;

    appearance:none;

    -webkit-appearance:none;

    -moz-appearance:none;
}

/* ===== CUSTOM SELECT ===== */

select{

    cursor:pointer;

    background-image:
        linear-gradient(
            45deg,
            transparent 50%,
            #7f8a9d 50%
        ),
        linear-gradient(
            135deg,
            #7f8a9d 50%,
            transparent 50%
        );

    background-position:
        calc(100% - 22px) calc(50% - 3px),
        calc(100% - 16px) calc(50% - 3px);

    background-size:
        6px 6px,
        6px 6px;

    background-repeat:no-repeat;

    padding-right:44px;

    font-weight:600;

    letter-spacing:0.3px;
}

select:hover{

    background-color:#181b20;

    border-color:
        rgba(240,185,11,0.12);
}

select:focus{

    border-color:
        rgba(240,185,11,0.32);

    box-shadow:
        0 0 0 4px rgba(240,185,11,0.05);
}

/* dropdown список */

select option{

    background:#1b1f26;

    color:#f3f4f6;

    padding:12px;

    font-weight:600;
}

input:focus,
select:focus{

    border-color:
        rgba(240,185,11,0.28);

    background:#181b20;
}

input::placeholder{

    color:#7c8798;
}

/* ===== BUTTONS ===== */

button{

    border:none;

    cursor:pointer;

    font-family:inherit;
}

.primary-btn,
.main-action{

    width:100%;

    margin-top:16px;

    padding:15px;

    border-radius:14px;

    background:var(--yellow);

    color:#181a20;

    font-weight:700;

    font-size:14px;

    transition:
        transform 0.15s,
        background-color 0.15s;
}

.primary-btn:hover,
.main-action:hover{

    transform:translateY(-1px);

    background:var(--yellow-hover);
}

.secondary-btn{

    width:100%;

    margin-top:12px;

    padding:12px;

    border-radius:12px;

    background:#232830;

    border:
        1px solid rgba(255,255,255,0.04);

    color:#d9e0ea;

    transition:
        border-color 0.15s,
        background-color 0.15s;
}

.secondary-btn:hover{

    background:#2a3038;

    border-color:
        rgba(240,185,11,0.14);
}

.position-actions{

    display:flex;

    justify-content:flex-end;

    align-items:center;

    margin-top:18px;

    padding-top:16px;

    border-top:
        1px solid rgba(255,255,255,0.04);
}

.danger{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    margin-left:auto;

    min-width:140px;

    background:
        linear-gradient(
            180deg,
            #2b1d20,
            #211417
        );

    border:
        1px solid rgba(255,91,110,0.22);

    color:#ff8a9a;

    padding:12px 18px;

    border-radius:14px;

    font-size:13px;

    font-weight:700;

    letter-spacing:0.5px;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.03);

    transition:
        transform 0.15s,
        background-color 0.15s,
        border-color 0.15s,
        box-shadow 0.15s;
}

.danger::before{

    content:"✕";

    font-size:12px;

    opacity:0.9;
}

.danger:hover{

    transform:translateY(-1px);

    background:
        linear-gradient(
            180deg,
            #382126,
            #28171b
        );

    border-color:
        rgba(255,91,110,0.38);

    box-shadow:
        0 6px 18px rgba(255,91,110,0.10);
}

.danger:active{

    transform:translateY(0);
}

/* ===== BALANCES ===== */

/* ===== BALANCES ===== */

.balances-grid{

    display:flex;

    flex-direction:column;

    gap:12px;
}

.balance-card-item{

    position:relative;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            rgba(34,39,48,0.95),
            rgba(24,28,34,0.98)
        );

    border:
        1px solid rgba(255,255,255,0.05);

    border-radius:18px;

    backdrop-filter:blur(12px);

    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.balance-card-item:hover{

    transform:
        translateY(-2px);

    border-color:
        rgba(240,185,11,0.16);

    background:
        linear-gradient(
            135deg,
            rgba(40,46,56,0.98),
            rgba(28,33,40,1)
        );
}

/* YELLOW STRIP */

.balance-strip{

    position:absolute;

    top:14px;
    left:0;

    width:5px;
    height:56px;

    border-radius:0 8px 8px 0;

    background:
        linear-gradient(
            180deg,
            #00e08f,
            #00c076
        );

    box-shadow:
        0 0 22px rgba(0,192,118,0.35);
}

/* CONTENT */

.balance-content{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    padding:16px 18px 16px 22px;
}

/* LEFT */

.balance-left{

    display:flex;

    flex-direction:column;

    gap:10px;
}

.balance-header{

    font-size:15px;

    font-weight:800;

    letter-spacing:1px;

    color:white;

    text-transform:uppercase;

    text-shadow:
        0 0 14px rgba(255,255,255,0.05);
}

/* DETAILS */

.balance-details{

    display:flex;

    align-items:center;

    gap:14px;
}

.balance-stat{

    display:flex;

    align-items:center;

    gap:8px;
}

.balance-stat span{

    font-size:11px;

    color:#6f7b8d;

    letter-spacing:0.6px;
}

.balance-stat strong{

    font-size:13px;

    font-weight:700;
}

/* FREE */

.balance-stat:first-child strong{

    color:var(--green);
}

/* USED */

.balance-stat:last-child strong{

    color:var(--red);
}

.balance-separator{

    width:1px;
    height:14px;

    background:
        rgba(255,255,255,0.08);
}

/* RIGHT */

.balance-right{

    display:flex;

    align-items:center;

    gap:16px;
}

.balance-main{

    font-size:28px;

    font-weight:800;

    letter-spacing:-1px;

    color:var(--yellow);

    text-shadow:
        0 0 18px rgba(240,185,11,0.12);
}

/* BUTTON */

.disconnect-btn{

    height:34px;

    padding:0 14px;

    border:none;

    border-radius:10px;

    background:#232830;

    color:#98a2b3;

    font-size:11px;

    font-weight:700;

    letter-spacing:0.8px;

    cursor:pointer;

    transition:
        background .15s ease,
        color .15s ease;
}

.disconnect-btn:hover{

    background:
        rgba(255,91,110,0.12);

    color:#ff7c8d;
}

/* ERROR */

.balance-error{

    padding:
        0 18px 16px 22px;

    color:#ff6f83;

    font-size:12px;

    font-weight:600;
}

/* MOBILE */

@media(max-width:700px){

    .balance-content{

        flex-direction:column;

        align-items:flex-start;
    }

    .balance-right{

        width:100%;

        justify-content:space-between;
    }
}

/* ===== TRADE ===== */

.trade-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;
}

.trade-box{

    background:var(--panel2);

    border:
        1px solid rgba(255,255,255,0.04);

    border-radius:18px;

    padding:18px;

    transition:
        border-color 0.15s,
        background-color 0.15s;
}

.trade-box:hover{

    background:#262c34;
}

.long{

    border-left:
        3px solid var(--green);
}

.short{

    border-left:
        3px solid var(--red);
}

.box-title{

    margin-bottom:14px;

    font-size:13px;

    font-weight:700;

    letter-spacing:1px;
}

.long .box-title{

    color:var(--green);
}

.short .box-title{

    color:var(--red);
}

/* ===== POSITIONS ===== */

.positions-container{

    display:flex;

    flex-direction:column;

    gap:16px;
}

.position-card{

    background:var(--panel2);

    border:
        1px solid rgba(255,255,255,0.04);

    border-radius:20px;

    padding:18px;

    position:relative;

    overflow:hidden;

    transition:
        transform 0.15s,
        border-color 0.15s,
        background-color 0.15s;

    transform:translateZ(0);

    will-change:transform;
}

.position-card:hover{

    transform:translateY(-1px);

    background:#262c34;
}

.pos-profit{

    border-left:
        3px solid var(--green);
}

.pos-loss{

    border-left:
        3px solid var(--red);
}

.position-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:18px;
}

.symbol{

    font-size:20px;

    font-weight:700;
}

.pnl{

    font-size:24px;

    font-weight:700;
}

.green{

    color:var(--green);
}

.red{

    color:var(--red);
}

.position-body{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:16px;
}

.leg{

    background:#171a1f;

    border:
        1px solid rgba(255,255,255,0.04);

    border-radius:14px;

    padding:16px;
}

.long-leg{

    border-top:
        2px solid rgba(0,192,118,0.28);
}

.short-leg{

    border-top:
        2px solid rgba(255,91,110,0.28);
}

.leg-title{

    color:#c9d2de;

    margin-bottom:14px;

    font-size:13px;

    font-weight:600;
}

.leg-row{

    display:flex;

    justify-content:space-between;

    padding:9px 0;

    border-bottom:
        1px solid rgba(255,255,255,0.04);

    font-size:14px;
}

/* ===== ALERT ===== */

.alerts{

    margin-top:16px;
}

.alert{

    background:
        rgba(255,91,110,0.08);

    border:
        1px solid rgba(255,91,110,0.12);

    border-radius:14px;

    padding:14px;

    color:#ff9aaa;
}

/* ===== EMPTY ===== */

.empty{

    color:var(--muted);

    font-size:14px;
}

/* ===== UPDATE EFFECT ===== */

.updating .position-card{

    opacity:0.92;
}

/* ===== SCROLLBAR ===== */

::-webkit-scrollbar{

    width:10px;
}

::-webkit-scrollbar-track{

    background:#15181c;
}

::-webkit-scrollbar-thumb{

    background:#2a2f36;

    border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{

    background:#3a4048;
}

/* ===== MOBILE ===== */

@media(max-width:900px){

    .top-row{

        grid-template-columns:1fr;
    }

    .trade-grid{

        grid-template-columns:1fr;
    }

    .position-body{

        grid-template-columns:1fr;
    }

    h1{

        font-size:24px;
    }

    .app{

        padding:16px;
    }
}

/* ========================================
   STATISTICS PAGE
======================================== */

.statistics-container{

    display:flex;

    flex-direction:column;

    gap:18px;
}

/* ===== CARD ===== */

.stats-card{

    background:var(--panel2);

    border:
        1px solid rgba(255,255,255,0.04);

    border-radius:20px;

    padding:20px;

    transition:
        transform 0.15s,
        border-color 0.15s,
        background-color 0.15s;

    overflow:hidden;

    position:relative;
}

.stats-card:hover{

    transform:translateY(-1px);

    background:#262c34;
}

.stats-profit{

    border-left:
        3px solid var(--green);
}

.stats-loss{

    border-left:
        3px solid var(--red);
}

/* ===== TOP ===== */

.stats-top{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:20px;

    margin-bottom:18px;
}

.stats-symbol{

    font-size:22px;

    font-weight:700;

    color:white;
}

.stats-date{

    margin-top:6px;

    color:var(--muted);

    font-size:13px;
}

.stats-total{

    font-size:26px;

    font-weight:700;

    white-space:nowrap;
}

/* ===== EXCHANGES ===== */

.stats-exchanges{

    display:flex;

    gap:12px;

    flex-wrap:wrap;

    margin-bottom:18px;
}

.exchange-pill{

    padding:10px 14px;

    border-radius:999px;

    font-size:13px;

    font-weight:600;
}

.long-pill{

    background:
        rgba(0,192,118,0.10);

    color:var(--green);

    border:
        1px solid rgba(0,192,118,0.14);
}

.short-pill{

    background:
        rgba(255,91,110,0.10);

    color:var(--red);

    border:
        1px solid rgba(255,91,110,0.14);
}

/* ===== DETAILS BUTTON ===== */

.details-btn{

    background:#2a3038;

    border:
        1px solid rgba(255,255,255,0.04);

    color:white;

    padding:12px 16px;

    border-radius:12px;

    font-size:14px;

    font-weight:600;

    transition:
        background-color 0.15s,
        border-color 0.15s;
}

.details-btn:hover{

    background:#353d47;

    border-color:
        rgba(240,185,11,0.14);
}

/* ===== DETAILS ===== */

.details-wrap{

    display:none;

    margin-top:20px;
}

.details-open{

    display:block;
}

.details-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:18px;
}

/* ===== DETAIL BOX ===== */

.details-box{

    background:#171a1f;

    border:
        1px solid rgba(255,255,255,0.04);

    border-radius:16px;

    padding:18px;
}

.long-box{

    border-top:
        2px solid rgba(0,192,118,0.28);
}

.short-box{

    border-top:
        2px solid rgba(255,91,110,0.28);
}

.details-title{

    font-size:16px;

    font-weight:700;

    margin-bottom:16px;
}

.details-row{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    padding:10px 0;

    border-bottom:
        1px solid rgba(255,255,255,0.04);

    font-size:14px;
}

.details-row span{

    color:var(--muted);
}

.details-row strong{

    color:white;

    text-align:right;
}

/* ===== MODAL ===== */

.modal-overlay{

    position:fixed;

    inset:0;

    background:
        rgba(0,0,0,0.78);

    backdrop-filter:
        blur(10px);

    display:flex;

    align-items:center;

    justify-content:center;

    opacity:0;

    pointer-events:none;

    transition:
        opacity 0.22s ease;

    z-index:9999;
}

.modal-open{

    opacity:1;

    pointer-events:auto;
}

.modal-box{

    width:460px;

    background:
        linear-gradient(
            180deg,
            #1c222b 0%,
            #161b22 100%
        );

    border:
        1px solid rgba(255,255,255,0.06);

    border-radius:22px;

    padding:28px;

    display:flex;

    flex-direction:column;

    gap:20px;

    position:relative;

    overflow:hidden;

    box-shadow:
        0 20px 60px rgba(0,0,0,0.6),
        0 0 0 1px rgba(255,255,255,0.03) inset;
}

/* верхняя красная линия */

.modal-box::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:3px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #ff4d67,
            transparent
        );
}

.modal-title{

    font-size:28px;

    font-weight:800;

    letter-spacing:1px;

    color:#f5f7fa;

    display:flex;

    align-items:center;

    gap:12px;
}

.modal-title::before{

    content:"⚠";

    color:#ff5b6e;

    font-size:30px;

    line-height:1;
}

.modal-text{

    color:#aab2bf;

    line-height:1.7;

    font-size:15px;
}

.modal-text strong{

    color:#ff5b6e;

    font-weight:700;
}

.modal-input{

    width:100%;

    height:58px;

    padding:0 18px;

    border-radius:14px;

    border:
        1px solid rgba(255,255,255,0.06);

    background:
        #252c36;

    color:#ffffff;

    font-size:18px;

    outline:none;

    transition:
        0.2s ease;

    box-shadow:
        inset 0 1px 3px rgba(0,0,0,0.3);
}

.modal-input::placeholder{

    color:#7d8796;
}

.modal-input:focus{

    border-color:
        rgba(255,91,110,0.5);

    box-shadow:
        0 0 0 4px rgba(255,91,110,0.08),
        0 0 20px rgba(255,91,110,0.12);
}

.modal-actions{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:14px;

    margin-top:6px;

    align-items:stretch;
}

/* КНОПКА ОТМЕНА */

.modal-actions .secondary-btn{

    width:100%;

    height:54px;

    margin-top:0;

    padding:0 20px;

    border-radius:14px;

    background:#252c36;

    border:
        1px solid rgba(255,255,255,0.05);

    color:#d6dce5;

    font-size:15px;

    font-weight:600;

    transition:
        0.2s ease;

    display:flex;

    align-items:center;

    justify-content:center;
}

.modal-actions .secondary-btn:hover{

    background:#2d3541;

    transform:
        translateY(-1px);
}


/* КНОПКА УДАЛИТЬ */

.modal-actions .danger{

    width:100%;

    height:54px;

    min-width:unset;

    margin:0;

    padding:0 20px;

    border-radius:14px;

    background:
        linear-gradient(
            180deg,
            rgba(255,91,110,0.18),
            rgba(255,91,110,0.1)
        );

    border:
        1px solid rgba(255,91,110,0.35);

    color:#ff6f83;

    font-size:15px;

    font-weight:700;

    transition:
        0.2s ease;

    box-shadow:
        0 0 20px rgba(255,91,110,0.08);

    display:flex;

    align-items:center;

    justify-content:center;
}

.modal-actions .danger:hover{

    background:
        linear-gradient(
            180deg,
            rgba(255,91,110,0.28),
            rgba(255,91,110,0.16)
        );

    transform:
        translateY(-1px);

    box-shadow:
        0 0 28px rgba(255,91,110,0.18);
}

/* ========================================
   LOGIN PAGE
======================================== */

.login-layout{

    min-height:100vh;

    display:grid;

    grid-template-columns:1.4fr 520px;
}

/* ===== LEFT ===== */

.login-left{

    position:relative;

    overflow:hidden;

    display:flex;

    align-items:center;

    padding-left:140px;

    background:

        radial-gradient(
            circle at center,
            rgba(0,255,170,0.08),
            transparent 55%
        );
}

.login-left::after{

    content:"";

    position:absolute;

    inset:0;

    background:
        radial-gradient(
            circle at center,
            rgba(240,185,11,0.06),
            transparent 60%
        );

    pointer-events:none;
}

.login-brand{

    position:relative;

    z-index:2;

    width:100%;

    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding-left:120px;
}

.login-live{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:28px;

    color:#9aa4b5;

    font-size:14px;

    letter-spacing:2px;

    font-weight:700;
}

.login-brand h1{

    font-size:64px;

    line-height:0.92;

    letter-spacing:-3px;

    color:white;

    max-width:420px;

    position:relative;

    z-index:3;
}

.login-brand p{

    color:#96a0b2;

    font-size:20px;

    line-height:1.7;

    max-width:520px;
}

/* ===== RIGHT ===== */

.login-right{

    background:

        linear-gradient(
            180deg,
            rgba(7,10,14,0.94),
            rgba(12,15,20,0.98)
        );

    border-left:
        1px solid rgba(255,255,255,0.04);
}

.login-panel::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:1px;

    background:

        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,0.18),
            transparent
        );
}

.login-screen{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;
}

.bg-glow{

    position:absolute;

    width:1400px;
    height:1400px;

    border-radius:50%;

    background:

        radial-gradient(
            circle,
            rgba(0,255,170,0.16),
            transparent 65%
        );

    filter:blur(100px);

    z-index:0;
}

.hero-logo{

    position:absolute;

    width:980px;

    right:1020px;

    top:10%;

    transform:translateY(-50%);

    opacity:0.14;

    z-index:1;

    pointer-events:none;

    user-select:none;

    filter:

        drop-shadow(
            0 0 120px rgba(0,255,170,0.22)
        )

        drop-shadow(
            0 0 240px rgba(0,255,170,0.10)
        );

    animation:logoFloat 8s ease-in-out infinite;
}

.login-panel{

    position:relative;
    margin-left:980px;
    z-index:5;
}

.login-panel-header{

    margin-bottom:32px;
}

.login-panel h2{

    font-size:28px;

    font-weight:800;

    color:white;

    margin-bottom:10px;

    letter-spacing:-1px;
}

.login-muted{

    color:#8f99aa;

    font-size:14px;
}

.login-group{

    margin-bottom:20px;
}

.login-group label{

    display:block;

    margin-bottom:10px;

    color:#9ea7b8;

    font-size:12px;

    font-weight:700;

    letter-spacing:1px;
}

.login-group input{

    width:100%;

    height:64px;

    padding:0 22px;

    margin-top:0;

    border-radius:18px;

    border:
        1px solid rgba(255,255,255,0.08);

    background:
        linear-gradient(
            180deg,
            rgba(20,24,30,0.98),
            rgba(13,16,21,1)
        );

    color:#ffffff;

    font-size:16px;

    font-weight:500;

    letter-spacing:0.3px;

    outline:none;

    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease,
        transform .18s ease;

    box-shadow:

        inset 0 1px 0 rgba(255,255,255,0.03),

        0 8px 30px rgba(0,0,0,0.28);
}

.login-group input::placeholder{

    color:#657080;

    font-weight:500;
}

.login-group input:focus{

    border-color:
        rgba(0,255,170,0.45);

    background:
        linear-gradient(
            180deg,
            rgba(24,29,36,1),
            rgba(16,20,26,1)
        );

    box-shadow:

        0 0 0 4px rgba(0,255,170,0.08),

        0 0 28px rgba(0,255,170,0.12),

        inset 0 1px 0 rgba(255,255,255,0.04);

    transform:
        translateY(-1px);
}

.login-panel .main-action:hover{

    transform:
        translateY(-2px);

    box-shadow:

        0 16px 40px rgba(240,185,11,0.32);

    filter:brightness(1.04);
}

/* ===== MOBILE ===== */

@media(max-width:1100px){

    .login-layout{

        grid-template-columns:1fr;
    }

    .login-left{

        display:none;
    }

    .login-right{

        padding:24px;
    }

    .login-panel{

        max-width:520px;
    }
}

/* ===== LOGIN LOGO ===== */

.login-logo-wrap{

    position:absolute;

    right:-60px;

    top:50%;

    transform:translateY(-50%);

    display:flex;

    align-items:center;

    justify-content:center;

    pointer-events:none;
}

/* glow behind */

.login-logo-wrap::before{

    content:"";

    position:absolute;

    width:720px;
    height:720px;

    border-radius:50%;

    background:

        radial-gradient(
            circle,
            rgba(0,255,170,0.12),
            transparent 68%
        );

    filter:blur(60px);

    z-index:0;
}

.login-logo-img{

    width:760px;

    opacity:0.92;
}

/* floating animation */

@keyframes logoFloat{

    0%{

        transform:
            translateY(0px);

    }

    50%{

        transform:
            translateY(-10px);

    }

    100%{

        transform:
            translateY(0px);

    }
}
/* ===== MOBILE ===== */

@media(max-width:900px){

    .stats-top{

        flex-direction:column;
    }

    .details-grid{

        grid-template-columns:1fr;
    }

    .stats-total{

        font-size:22px;
    }
}

.loading-btn {
    opacity: 0.7;
    cursor: not-allowed;
    pointer-events: none;
}

.stats-header-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}
