* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: #07111f;
    color: #eef5ff;

    font:
        15px Inter,
        system-ui,
        -apple-system,
        Segoe UI,
        sans-serif;

    display: flex;
    min-height: 100vh;
}


/* SIDEBAR */

aside {
    width: 236px;
    background: #081827;

    border-right:
        1px solid #183047;

    padding: 22px 0;

    display: flex;
    flex-direction: column;

    position: fixed;

    inset:
        0 auto 0 0;
}


.brand {
    padding:
        0 22px 25px;

    display: flex;

    gap: 12px;

    align-items: center;
}


.mark {
    display: grid;

    place-items: center;

    width: 34px;
    height: 34px;

    background: #187cff;

    clip-path:
        polygon(
            0 0,
            100% 0,
            72% 35%,
            58% 35%,
            58% 100%,
            40% 78%,
            40% 35%,
            18% 35%
        );

    font-size: 0;
}


.brand b {
    font-size: 17px;
}


nav {
    display: grid;

    gap: 5px;
}


nav a {
    padding:
        14px 25px;

    color: #a9bfd7;

    text-decoration: none;

    cursor: pointer;

    border-left:
        3px solid transparent;
}


nav a:hover,
nav .active {
    background: #0b2a4b;

    color: #40a0ff;

    border-left-color:
        #198cff;
}


.profile {
    margin-top: auto;

    padding: 22px;

    border-top:
        1px solid #173047;
}


.profile small,
.muted,
header p {
    color: #88a0b9;
}


/* MAIN */

main {
    margin-left: 236px;

    width:
        calc(100% - 236px);

    padding: 24px;
}


header {
    display: flex;

    justify-content:
        space-between;

    align-items: start;

    margin-bottom: 24px;
}


h1 {
    margin: 0;

    font-size: 30px;
}


header p {
    margin: 5px 0;
}


/* KPI */

.kpis {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 18px;
}


.kpis article,
.progressCard,
.bottom article {
    background: #0d1d2d;

    border:
        1px solid #19344d;

    border-radius: 13px;

    padding: 21px;

    box-shadow:
        0 8px 30px #0002;
}


.kpis span {
    color: #a7bdd4;
}


.kpis strong {
    display: block;

    font-size: 32px;

    margin: 8px 0;
}


.kpis small {
    color: #7f9ab5;
}


/* PROGRESS */

.row {
    display: grid;

    grid-template-columns:
        1fr 370px;

    gap: 18px;

    margin-top: 18px;
}


.titleline {
    display: flex;

    justify-content:
        space-between;

    align-items: center;
}


.titleline h3 {
    margin:
        0 0 16px;
}


.track {
    height: 20px;

    border-radius: 7px;

    background: #163352;

    overflow: hidden;
}


.track div {
    height: 100%;

    width: 0;

    background:
        linear-gradient(
            90deg,
            #1688ff,
            #399bff
        );

    transition: .4s;
}


.scale {
    display: flex;

    justify-content:
        space-between;

    margin-top: 10px;

    color: #9bb0c6;
}


/* REGISTRER SALG */

.saleBtn {
    border: 0;

    border-radius: 12px;

    background:
        linear-gradient(
            135deg,
            #0879f9,
            #1764e9
        );

    color: white;

    padding: 24px;

    text-align: left;

    display: flex;

    gap: 18px;

    align-items: center;

    cursor: pointer;
}


.saleBtn b {
    font-size: 34px;
}


.saleBtn strong,
.saleBtn small {
    display: block;
}


.saleBtn strong {
    font-size: 19px;

    margin-bottom: 7px;
}


.saleBtn small {
    color: #c8e0ff;
}


/* BUND */

.bottom {
    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 18px;

    margin-top: 18px;
}


/* GRAF */

.chart {
    height: 290px;

    display: flex;

    align-items: end;

    gap: 7px;

    padding:
        25px 5px 0;

    border-bottom:
        1px solid #47627d;

    background:
        repeating-linear-gradient(
            to top,
            transparent 0,
            transparent 57px,
            #18334a 58px
        );
}


.chart i {
    flex: 1;

    background:
        linear-gradient(
            #258dff,
            #135ca7
        );

    min-height: 2px;

    border-radius:
        4px 4px 0 0;
}


/* SALGSTABEL */

.table {
    overflow: hidden;
}


.tr {
    display: grid;

    grid-template-columns:
        90px 110px 1fr 1.3fr;

    gap: 10px;

    padding:
        12px 6px;

    border-bottom:
        1px solid #193248;
}


.tr.head {
    color: #91aac3;

    font-size: 13px;
}


.money {
    color: #3de578;

    font-weight: 700;
}


/* INDEX */

.bad {
    color:
        #ff5365 !important;
}


.good {
    color:
        #3de578 !important;
}


/* MODAL */

.modal {
    position: fixed;

    inset: 0;

    background: #02070dbd;

    display: none;

    place-items: center;

    z-index: 10;
}


.modal.show {
    display: grid;
}


.dialog {
    width:
        min(440px, 92vw);

    background: #0e2032;

    border:
        1px solid #24425e;

    border-radius: 14px;

    padding: 26px;

    box-shadow:
        0 25px 80px #0009;
}


.dialog h2 {
    margin-top: 0;
}


.dialog label {
    display: block;

    color: #a9bfd3;

    margin: 16px 0;
}


.dialog input {
    width: 100%;

    margin-top: 7px;

    background: #081725;

    border:
        1px solid #28445e;

    color: white;

    padding: 13px;

    border-radius: 8px;

    font: inherit;
}


.actions {
    display: flex;

    justify-content:
        flex-end;

    gap: 10px;

    margin-top: 22px;
}


.actions button {
    border: 0;

    border-radius: 8px;

    padding:
        11px 16px;

    background: #167bf3;

    color: white;

    font-weight: 700;

    cursor: pointer;
}


.actions .ghost {
    background: #1b3044;

    color: #c9d8e7;
}


/* TABLET */

@media(max-width: 1000px) {

    aside {
        display: none;
    }

    main {
        margin: 0;

        width: 100%;
    }

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

    .row,
    .bottom {
        grid-template-columns:
            1fr;
    }

}


/* MOBIL */

@media(max-width: 600px) {

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

    .tr {
        grid-template-columns:
            70px 90px 1fr;
    }

    .tr span:last-child {
        display: none;
    }

}