*{box-sizing:border-box}

html,body{
    margin:0;
    min-height:100%;
    font-family:Arial,Helvetica,sans-serif;
    background:
        radial-gradient(circle at 0 0,rgba(0,108,190,.22),transparent 28%),
        radial-gradient(circle at 100% 0,rgba(0,130,70,.18),transparent 24%),
        linear-gradient(145deg,#02070d,#06101c 55%,#02070d);
    color:#eef4fa;
    font-size:13px
}

body{
    padding-bottom:16px
}

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

button,input,select,textarea{
    font:inherit
}

.topbar{
    height:58px;
    border-bottom:1px solid #26384b;
    background:rgba(2,8,15,.94);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 16px
}

.brand{
    font-size:18px;
    font-weight:700;
    letter-spacing:.2px
}

.topbar nav{
    display:flex;
    align-items:center;
    gap:14px
}

.topbar nav a{
    font-weight:700
}


/* =========================================================
   PROFIL-ICON
   ========================================================= */

.profile-dot{
    width:32px;
    height:32px;
    border:1px solid #4d6a85;
    border-radius:50%;
    display:grid;
    place-items:center;
    position:relative;

    /* vorhandenes "●" aus dem HTML unsichtbar machen */
    font-size:0;
    line-height:0;

    color:#8ba6bd;

    transition:
        border-color .15s ease,
        color .15s ease,
        background .15s ease,
        box-shadow .15s ease;
}


/* Kopf */

.profile-dot::before{
    content:"";
    position:absolute;

    width:7px;
    height:7px;

    border:1.5px solid currentColor;
    border-radius:50%;

    top:6px;
    left:50%;

    transform:translateX(-50%);
}


/* Schultern */

.profile-dot::after{
    content:"";
    position:absolute;

    width:15px;
    height:8px;

    border:1.5px solid currentColor;
    border-bottom:0;

    border-radius:9px 9px 0 0;

    bottom:5px;
    left:50%;

    transform:translateX(-50%);
}


/* Hover */

.profile-dot:hover{
    color:#20d8ff;
    border-color:#20d8ff;
    background:rgba(32,216,255,.06);
    box-shadow:0 0 10px rgba(32,216,255,.18)
}


.user-id{
    line-height:1.05
}

.user-id small{
    display:block;
    color:#7f98ad;
    font-size:10px;
    margin-top:3px
}


.terminal-shell{
    padding:8px
}

.account-strip{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:8px
}

.metric,.panel{
    background:linear-gradient(180deg,#0a1726,#07111d);
    border:1px solid #2b435a;
    border-radius:6px;
    box-shadow:0 8px 24px rgba(0,0,0,.24)
}

.metric{
    padding:10px
}

.metric span{
    display:block;
    color:#8399ad;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.5px
}

.metric strong{
    display:block;
    margin-top:4px;
    font-size:15px
}

.account-note{
    padding:7px 10px;
    color:#8399ad;
    font-size:11px
}

.trading-grid{
    display:grid;
    grid-template-columns:290px minmax(500px,1fr) 310px;
    gap:8px
}

.panel-title{
    padding:10px;
    border-bottom:1px solid #263a50;
    font-weight:700;
    font-size:15px
}

.panel-title small{
    display:block;
    color:#7e95aa;
    font-size:11px;
    font-weight:400;
    margin-top:3px
}

.watch-scroll{
    max-height:500px;
    overflow:auto
}

.group-title{
    padding:7px 9px;
    color:#6f879d;
    font-size:10px;
    font-weight:700;
    letter-spacing:.7px;
    border-bottom:1px solid #1b2d40
}

.watch-row{
    display:flex;
    justify-content:space-between;
    gap:8px;
    padding:7px 9px;
    border-left:2px solid transparent
}

.watch-row:hover,
.watch-row.selected{
    background:#0d263e;
    border-left-color:#20d8ff
}

.watch-row span:first-child{
    min-width:0
}

.watch-row b,
.watch-row small{
    display:block
}

.watch-row small{
    color:#7890a5;
    font-size:10px;
    margin-top:2px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}

.quote{
    text-align:right
}

.quote em{
    display:block;
    font-size:9px;
    color:#7890a5;
    font-style:normal;
    margin-top:2px
}

.positive{
    color:#35d58b
}

.negative{
    color:#ff5d78
}

.gold{
    color:#d6b35b
}

.tv-wrap{
    height:500px;
    background:#02070d
}

.chart-tools{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    border-top:1px solid #263a50;
    padding:7px 8px;
    font-size:11px;
    color:#8ca1b5
}

.chart-tools .tf{
    padding:4px 7px;
    border-radius:4px
}

.chart-tools .tf.active{
    background:#123957;
    color:#24d9ff;
    border:1px solid #1d93b8
}

.tool-current{
    color:#e8f0f6;
    font-weight:700;
    margin-right:auto
}

.bidask{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:8px
}

.bidask>div{
    background:#06101b;
    border:1px solid #2b435a;
    padding:8px
}

.bidask small{
    display:block;
    color:#7e95aa
}

.bidask strong{
    display:block;
    margin-top:3px;
    font-size:16px
}

.order-panel form{
    padding:0 10px 10px
}

.order-panel label,
.login-card label,
.admin-grid label{
    display:block;
    color:#91a6ba;
    font-size:11px;
    margin-top:8px
}

.order-panel input,
.order-panel select,
.login-card input,
.admin-grid input,
.admin-grid select,
.admin-grid textarea{
    width:100%;
    background:#040b13;
    border:1px solid #31506b;
    color:#eef4fa;
    border-radius:5px;
    padding:7px 8px;
    margin-top:4px;
    outline:none
}

.order-panel input:focus,
.order-panel select:focus,
.login-card input:focus,
.admin-grid input:focus,
.admin-grid select:focus,
.admin-grid textarea:focus{
    border-color:#20d8ff;
    box-shadow:0 0 0 2px rgba(32,216,255,.1)
}

.two-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px
}

.execute,
.primary,
.danger,
.goldbtn{
    border:0;
    border-radius:5px;
    padding:7px 10px;
    font-weight:700;
    cursor:pointer
}

.execute{
    width:100%;
    margin-top:10px;
    background:#1f9a62;
    color:#fff
}

.primary{
    background:linear-gradient(90deg,#0e6dcc,#12b8d9);
    color:#fff
}

.danger{
    background:#8c2541;
    color:#fff
}

.goldbtn{
    background:#806426;
    color:#fff
}

.full{
    width:100%;
    margin-top:12px
}

.notice{
    margin:8px 0;
    padding:9px;
    border:1px solid #2f8a6a;
    background:#0b3026;
    border-radius:5px
}

.notice.error{
    border-color:#8b3044;
    background:#31101a
}

.terminal-bottom{
    margin-top:8px
}

.terminal-tabs{
    display:flex;
    gap:16px;
    padding:9px 10px;
    border-bottom:1px solid #263a50;
    font-weight:700
}

.table-scroll{
    overflow:auto
}

.table-scroll table{
    width:100%;
    border-collapse:collapse;
    min-width:950px
}

.table-scroll th,
.table-scroll td{
    padding:7px 8px;
    border-bottom:1px solid #1d3042;
    text-align:left;
    vertical-align:middle
}

.table-scroll th{
    color:#7e95aa;
    font-size:10px;
    text-transform:uppercase
}

.table-scroll td small{
    display:block;
    color:#7b92a7;
    font-size:10px;
    margin-top:2px
}

.subterminal{
    padding:8px
}

.subterminal h3{
    font-size:13px;
    margin:8px 0
}

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

.login-card{
    width:min(420px,calc(100% - 24px));
    background:#081321;
    border:1px solid #2b435a;
    border-radius:6px;
    padding:18px;
    box-shadow:0 18px 50px rgba(0,0,0,.45)
}

.brand-big{
    font-size:20px;
    font-weight:800
}

.login-card h1{
    font-size:18px;
    margin:20px 0 4px
}

.sub{
    font-size:11px;
    color:#7f95aa
}

.admin-shell{
    padding:8px
}

.admin-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px
}

.admin-grid .wide{
    grid-column:1/-1
}

.admin-card{
    padding:10px
}

.admin-card h2{
    font-size:15px;
    margin:0 0 8px
}

.admin-card h3{
    font-size:13px;
    margin:10px 0 6px;
    color:#d7e2ec
}

.admin-card form{
    margin-bottom:8px
}

.admin-card textarea{
    min-height:72px;
    resize:vertical
}

.admin-actions{
    display:flex;
    flex-wrap:wrap;
    gap:6px
}

.admin-actions button{
    margin-top:7px
}

.mini{
    font-size:10px;
    color:#7e95aa
}

.success{
    color:#35d58b
}

.warning{
    color:#d6b35b
}

.profile-card,
.payout-card,
.depot-card{
    max-width:1100px;
    margin:8px auto;
    padding:10px
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px
}

.form-grid .wide{
    grid-column:1/-1
}

.modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    display:grid;
    place-items:center
}

.modal>div{
    background:#091725;
    border:1px solid #2c465e;
    padding:20px;
    border-radius:6px;
    box-shadow:0 20px 60px #000;
    max-width:460px
}

.linkrow{
    display:flex;
    gap:12px;
    align-items:center;
    margin-top:10px
}

.lockup{
    color:#d6b35b
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1100px){

    .account-strip{
        grid-template-columns:1fr
    }

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

    .chart-panel{
        order:2
    }

    .order-panel{
        order:3
    }

    .watch{
        order:4
    }

    .terminal-bottom{
        order:5
    }

    .tv-wrap{
        height:430px
    }

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

    .admin-card.wide{
        grid-column:auto
    }

    .topbar{
        height:auto;
        min-height:58px;
        flex-wrap:wrap;
        gap:8px
    }

    .topbar nav{
        flex-wrap:wrap;
        gap:9px
    }
}


@media(max-width:650px){

    .topbar nav{
        width:100%;
        justify-content:flex-end
    }

    .form-grid,
    .two-fields{
        grid-template-columns:1fr
    }

    .tv-wrap{
        height:380px
    }

    .table-scroll table{
        min-width:850px
    }
}