
/* ==========================================================
   KINGSLUMPZ
   MOCKUP-MATCH HOMEPAGE
========================================================== */

* {
    box-sizing: border-box;
}


:root {

    --black: #050606;

    --black-2: #090a0a;

    --panel: #0d0f0f;

    --panel-2: #121414;

    --gold: #e3aa38;

    --gold-light: #ffd56f;

    --gold-dark: #8b651f;

    --white: #f6f6f6;

    --gray: #a3a3a3;

    --line: #292929;

}


html {
    scroll-behavior: smooth;
}


body {

    margin: 0;

    background: var(--black);

    color: var(--white);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

}


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


button {
    font-family: inherit;
}



/* ==========================================================
   GLOBAL WIDTH
========================================================== */

.ks-shell {

    width: min(
        1180px,
        calc(100% - 80px)
    );

    margin:
        0 auto;

}



/* ==========================================================
   HEADER
========================================================== */

.ks-header {

    height: 70px;

    background:
        rgba(
            4,
            5,
            5,
            .98
        );

    border-bottom:
        1px solid
        rgba(
            227,
            170,
            56,
            .45
        );

    position:
        sticky;

    top: 0;

    z-index: 100;

}


.ks-header-inner {

    width:
        min(
            1220px,
            calc(100% - 50px)
        );

    height: 100%;

    margin:
        0 auto;

    display: grid;

    grid-template-columns:
        auto
        1fr
        auto;

    align-items:
        center;

    gap: 34px;

}


.ks-brand {

    display: flex;

    align-items:
        center;

    gap: 12px;

    color:
        var(--gold-light);

    font-weight:
        900;

    font-size:
        21px;

    letter-spacing:
        -.5px;

}


.ks-brand img {

    width: 46px;

    height: 46px;

    object-fit:
        cover;

    border-radius:
        50%;

}


.ks-nav {

    display: flex;

    justify-content:
        center;

    align-items:
        center;

    gap: 32px;

    height: 100%;

}


.ks-nav a {

    height: 100%;

    display: flex;

    align-items:
        center;

    position:
        relative;

    font-size:
        13px;

    color:
        #dedede;

}


.ks-nav a:hover,
.ks-nav a.active {

    color:
        var(--gold-light);

}


.ks-nav a.active::after {

    content: "";

    position:
        absolute;

    bottom: 13px;

    left: 50%;

    transform:
        translateX(-50%);

    width: 30px;

    height: 2px;

    background:
        var(--gold);

}


.ks-actions {

    display: flex;

    align-items:
        center;

    gap: 10px;

}


.ks-icon {

    background:
        transparent;

    color:
        white;

    border: 0;

    font-size:
        18px;

    cursor:
        pointer;

}


.ks-cart {

    position:
        relative;

}


.ks-cart span {

    position:
        absolute;

    top: -7px;

    right: -7px;

    width: 17px;

    height: 17px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        var(--gold);

    color:
        black;

    font-size:
        10px;

    font-weight:
        bold;

}


.ks-login {

    height:
        40px;

    padding:
        0 20px;

    background:
        transparent;

    color:
        white;

    border:
        1px solid #555;

    border-radius:
        5px;

    cursor:
        pointer;

}


.ks-gold-btn {

    height:
        40px;

    padding:
        0 22px;

    background:
        linear-gradient(
            135deg,
            #ffe392,
            #dda431
        );

    border: 0;

    border-radius:
        5px;

    font-weight:
        800;

    color:
        #111;

    cursor:
        pointer;

}



/* ==========================================================
   HERO
========================================================== */

.ks-hero {

    min-height:
        515px;

    position:
        relative;

    overflow:
        hidden;

    border-bottom:
        1px solid
        rgba(
            227,
            170,
            56,
            .35
        );

    background:

        radial-gradient(
            circle at 72% 45%,
            rgba(
                215,
                151,
                34,
                .20
            ),
            transparent 32%
        ),

        radial-gradient(
            circle at 35% 85%,
            rgba(
                80,
                55,
                14,
                .23
            ),
            transparent 32%
        ),

        linear-gradient(
            90deg,
            #020303 0%,
            #080806 48%,
            #0b0804 100%
        );

}


.ks-hero-glow {

    position:
        absolute;

    inset:
        0;

    pointer-events:
        none;

    background:

        linear-gradient(
            180deg,
            transparent 0%,
            rgba(
                0,
                0,
                0,
                .2
            )
            70%,
            rgba(
                0,
                0,
                0,
                .75
            )
            100%
        );

}


.ks-hero-grid {

    min-height:
        515px;

    position:
        relative;

    z-index:
        2;

    display:
        grid;

    grid-template-columns:
        minmax(
            0,
            1.02fr
        )
        minmax(
            470px,
            .98fr
        );

    align-items:
        center;

    gap:
        20px;

}



/* HERO TEXT */

.ks-hero-copy {

    padding:
        38px 0 30px;

    position:
        relative;

    z-index:
        5;

}


.ks-kicker {

    color:
        var(--gold-light);

    font-size:
        15px;

    letter-spacing:
        8px;

    margin-bottom:
        14px;

}


.ks-hero h1 {

    margin:
        0;

    font-size:
        clamp(
            62px,
            6.5vw,
            96px
        );

    font-weight:
        1000;

    letter-spacing:
        -6px;

    line-height:
        .9;

    white-space:
        nowrap;

}


.ks-gold-word {

    background:
        linear-gradient(
            180deg,
            #fff1b0,
            #e7a72d
        );

    -webkit-background-clip:
        text;

    -webkit-text-fill-color:
        transparent;

}


.ks-white-word {

    color:
        #f6f6f6;

}


.ks-subheadline {

    margin-top:
        18px;

    font-size:
        17px;

    font-weight:
        800;

    letter-spacing:
        3px;

}


.ks-subheadline span {

    color:
        var(--gold);

    margin:
        0 8px;

}


.ks-hero-copy > p {

    max-width:
        570px;

    margin:
        22px 0 0;

    color:
        #d1d1d1;

    font-size:
        17px;

    line-height:
        1.5;

}


.ks-hero-buttons {

    display:
        flex;

    gap:
        16px;

    margin-top:
        28px;

}


.ks-primary-btn,
.ks-secondary-btn {

    min-height:
        50px;

    padding:
        0 28px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        20px;

    border-radius:
        5px;

    font-size:
        13px;

    font-weight:
        900;

}


.ks-primary-btn {

    background:
        linear-gradient(
            135deg,
            #ffe48f,
            #dda32d
        );

    color:
        #111;

}


.ks-secondary-btn {

    border:
        1px solid
        var(--gold-dark);

    background:
        rgba(
            0,
            0,
            0,
            .42
        );

    color:
        white;

}



/* MINI FEATURES */

.ks-mini-features {

    margin-top:
        39px;

    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap:
        22px;

    max-width:
        620px;

}


.ks-mini-feature {

    display:
        flex;

    align-items:
        center;

    gap:
        11px;

}


.ks-mini-icon {

    flex:
        0 0 auto;

    width:
        34px;

    color:
        var(--gold-light);

    font-size:
        29px;

}


.ks-mini-feature strong {

    display:
        block;

    color:
        white;

    font-size:
        11px;

}


.ks-mini-feature span {

    display:
        block;

    margin-top:
        4px;

    color:
        #aaa;

    font-size:
        10px;

}



/* ==========================================================
   HERO ART
========================================================== */

.ks-hero-art {

    height:
        100%;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    position:
        relative;

}


.ks-hero-art::before {

    content: "";

    position:
        absolute;

    width:
        480px;

    height:
        480px;

    border-radius:
        50%;

    background:
        radial-gradient(
            circle,
            rgba(
                231,
                169,
                51,
                .18
            ),
            transparent 67%
        );

    filter:
        blur(
            12px
        );

}


.ks-hero-art img {

    width:
        min(
            100%,
            540px
        );

    max-height:
        500px;

    object-fit:
        contain;

    position:
        relative;

    z-index:
        2;

    margin-top:
        0;

    filter:

        drop-shadow(
            0 12px 20px
            rgba(
                0,
                0,
                0,
                .65
            )
        )

        drop-shadow(
            0 0 18px
            rgba(
                218,
                162,
                47,
                .18
            )
        );

}



/* ==========================================================
   FEATURED BEATS
========================================================== */

.ks-beats {

    padding:
        32px 0 38px;

    background:
        linear-gradient(
            180deg,
            #080a0a,
            #060707
        );

    border-bottom:
        1px solid
        #242424;

}


.ks-section-heading {

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    margin-bottom:
        20px;

}


.ks-section-heading h2 {

    margin:
        0;

    font-size:
        27px;

    font-weight:
        900;

}


.ks-section-heading > a {

    color:
        var(--gold-light);

    font-size:
        12px;

}


.ks-heading-line {

    margin-top:
        8px;

    width:
        39px;

    height:
        3px;

    background:
        var(--gold-light);

}


.ks-beat-grid {

    display:
        grid;

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

    gap:
        20px;

}


.ks-beat-card {

    overflow:
        hidden;

    background:
        linear-gradient(
            180deg,
            #121414,
            #0b0c0c
        );

    border:
        1px solid
        #323232;

    border-radius:
        5px;

}


.ks-beat-cover {

    aspect-ratio:
        16 / 9;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

}


.cover-one {

    background:

        linear-gradient(
            rgba(
                5,
                5,
                5,
                .10
            ),
            rgba(
                5,
                5,
                5,
                .45
            )
        ),

        linear-gradient(
            135deg,
            #664d1c,
            #e5ae3e,
            #171511
        );

}


.cover-two {

    background:

        radial-gradient(
            circle at center,
            #1a2636,
            #05080b 72%
        );

}


.cover-three {

    background:

        linear-gradient(
            135deg,
            #221c14,
            #7a5620,
            #080808
        );

}


.cover-four {

    background:

        radial-gradient(
            circle at 70% 30%,
            #4e3816,
            #080808 70%
        );

}


.ks-play {

    width:
        50px;

    height:
        50px;

    border-radius:
        50%;

    border:
        2px solid
        var(--gold-light);

    background:
        rgba(
            0,
            0,
            0,
            .75
        );

    color:
        white;

    font-size:
        20px;

    cursor:
        pointer;

}


.ks-beat-body {

    padding:
        13px;

}


.ks-beat-body h3 {

    margin:
        0;

    font-size:
        15px;

}


.ks-beat-body p {

    margin:
        4px 0 0;

    color:
        #aaa;

    font-size:
        12px;

}


.ks-beat-price {

    margin-top:
        17px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

}


.ks-beat-price strong {

    color:
        var(--gold-light);

    font-size:
        17px;

}


.ks-beat-price button {

    width:
        36px;

    height:
        36px;

    border:
        1px solid
        var(--gold);

    background:
        #0b0c0c;

    color:
        var(--gold-light);

    border-radius:
        4px;

}



/* ==========================================================
   SERVICE ROW
========================================================== */

.ks-services {

    background:
        #080909;

    border-bottom:
        1px solid
        rgba(
            227,
            170,
            56,
            .35
        );

}


.ks-services-grid {

    display:
        grid;

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

}


.ks-service {

    min-height:
        135px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    text-align:
        center;

    border-right:
        1px solid
        #292929;

}


.ks-service:last-child {

    border-right:
        0;

}


.ks-service-icon {

    margin-bottom:
        12px;

    color:
        var(--gold-light);

    font-size:
        30px;

}


.ks-service strong {

    font-size:
        14px;

}


.ks-service span {

    margin-top:
        5px;

    color:
        #aaa;

    font-size:
        12px;

}



/* ==========================================================
   FOOTER
========================================================== */

.ks-footer {

    padding:
        28px 0 34px;

    background:
        #050606;

}


.ks-footer-rule {

    display:
        grid;

    grid-template-columns:
        1fr
        auto
        1fr;

    align-items:
        center;

    gap:
        28px;

}


.ks-footer-rule span {

    height:
        2px;

    background:
        linear-gradient(
            90deg,
            var(--gold),
            #ffe18b
        );

}


.ks-footer-rule span:last-child {

    background:
        linear-gradient(
            90deg,
            #ffe18b,
            var(--gold)
        );

}


.ks-footer-rule img {

    width:
        118px;

    height:
        118px;

    object-fit:
        cover;

    border-radius:
        50%;

}


.ks-footer-grid {

    margin-top:
        -15px;

    display:
        grid;

    grid-template-columns:
        1fr
        1fr;

    align-items:
        end;

}


.ks-footer-nav {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        24px;

}


.ks-footer-nav a {

    font-size:
        11px;

    color:
        #ddd;

}


.ks-footer-grid p {

    margin:
        28px 0 0;

    color:
        #777;

    font-size:
        10px;

}


.ks-clarkworks {

    text-align:
        right;

    display:
        flex;

    flex-direction:
        column;

    gap:
        4px;

}


.ks-clarkworks strong {

    font-size:
        13px;

}


.ks-clarkworks span {

    color:
        #999;

    font-size:
        11px;

}


.ks-socials {

    margin-top:
        17px;

    color:
        var(--gold-light);

    font-size:
        11px;

}



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

@media (
    max-width:
    1050px
) {

    .ks-header-inner {

        grid-template-columns:
            auto
            1fr;

    }


    .ks-actions {

        display:
            none;

    }


    .ks-hero-grid {

        grid-template-columns:
            1fr;

    }


    .ks-hero-copy {

        padding-top:
            55px;

    }


    .ks-hero-art {

        padding-bottom:
            30px;

    }


    .ks-hero-art img {

        width:
            min(
                85%,
                520px
            );

    }


    .ks-beat-grid {

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

    }

}


@media (
    max-width:
    700px
) {

    .ks-shell {

        width:
            calc(
                100% - 34px
            );

    }


    .ks-header {

        height:
            auto;

    }


    .ks-header-inner {

        width:
            calc(
                100% - 26px
            );

        padding:
            10px 0;

        display:
            flex;

        flex-wrap:
            wrap;

    }


    .ks-nav {

        order:
            3;

        width:
            100%;

        overflow-x:
            auto;

        justify-content:
            flex-start;

        gap:
            22px;

    }


    .ks-nav a {

        height:
            34px;

        white-space:
            nowrap;

    }


    .ks-nav a.active::after {

        bottom:
            0;

    }


    .ks-brand {

        font-size:
            17px;

    }


    .ks-brand img {

        width:
            40px;

        height:
            40px;

    }


    .ks-hero {

        min-height:
            auto;

    }


    .ks-hero-grid {

        min-height:
            auto;

    }


    .ks-hero-copy {

        padding:
            42px 0 10px;

    }


    .ks-kicker {

        font-size:
            11px;

        letter-spacing:
            5px;

    }


    .ks-hero h1 {

        font-size:
            49px;

        letter-spacing:
            -4px;

    }


    .ks-subheadline {

        font-size:
            12px;

        letter-spacing:
            1.5px;

    }


    .ks-hero-copy > p {

        font-size:
            15px;

    }


    .ks-hero-buttons {

        flex-direction:
            column;

    }


    .ks-mini-features {

        grid-template-columns:
            1fr;

        gap:
            14px;

    }


    .ks-hero-art img {

        width:
            100%;

        max-height:
            410px;

    }


    .ks-beat-grid {

        grid-template-columns:
            1fr;

    }


    .ks-services-grid {

        grid-template-columns:
            1fr;

    }


    .ks-service {

        border-right:
            0;

        border-bottom:
            1px solid
            #292929;

    }


    .ks-footer-grid {

        grid-template-columns:
            1fr;

        gap:
            30px;

        margin-top:
            20px;

    }


    .ks-footer-rule img {

        width:
            90px;

        height:
            90px;

    }


    .ks-clarkworks {

        text-align:
            left;

    }

}



/* ==========================================================
   DYNAMIC BEAT STORE
========================================================== */

.ks-beat-cover {
    position: relative;
    overflow: hidden;

    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;

    text-decoration: none;
}


.cover-1 {
    background:
        linear-gradient(
            135deg,
            #9d721d,
            #ddb349,
            #15120b
        );
}


.cover-2 {
    background:
        radial-gradient(
            circle at center,
            #132231,
            #05090d 70%
        );
}


.cover-3 {
    background:
        linear-gradient(
            135deg,
            #292015,
            #76531e,
            #090807
        );
}


.cover-4 {
    background:
        radial-gradient(
            circle at 70% 30%,
            #503817,
            #070707 70%
        );
}


.ks-play {
    cursor: pointer;
}


.ks-play-disabled {
    display: flex;
    align-items: center;
    justify-content: center;

    opacity: .45;

    cursor: default;
}


/* ==========================================================
   BEAT LIBRARY
========================================================== */

.ks-library {
    min-height: 80vh;

    padding:
        65px 0 80px;

    background:
        radial-gradient(
            circle at 70% 5%,
            rgba(218,162,47,.10),
            transparent 30%
        ),
        #070808;
}


.ks-library-head {
    max-width: 650px;

    margin-bottom: 45px;
}


.ks-library-head h1 {
    margin:
        8px 0 12px;

    font-size:
        clamp(
            48px,
            6vw,
            78px
        );

    line-height: .95;
}


.ks-library-head p {
    color: #aaa;

    font-size: 17px;

    line-height: 1.55;
}


/* ==========================================================
   BEAT DETAIL
========================================================== */

.ks-detail {
    min-height:
        calc(
            100vh - 70px
        );

    display: flex;

    align-items: center;

    padding:
        60px 0;

    background:
        radial-gradient(
            circle at 25% 50%,
            rgba(218,162,47,.13),
            transparent 34%
        ),
        #060707;
}


.ks-detail-grid {
    display: grid;

    grid-template-columns:
        minmax(320px, .9fr)
        minmax(0, 1.1fr);

    gap: 70px;

    align-items: center;
}


.ks-detail-cover {
    aspect-ratio: 1 / 1;

    max-width: 540px;

    width: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #4e3817,
            #080909
        );

    background-size: cover;
    background-position: center;

    border:
        1px solid
        #3a3325;

    box-shadow:
        0 30px 80px
        rgba(0,0,0,.5);
}


.ks-detail-play {
    width: 82px;
    height: 82px;

    border-radius: 50%;

    border:
        2px solid
        var(--gold-light);

    background:
        rgba(0,0,0,.78);

    color: white;

    font-size: 28px;

    cursor: pointer;
}


.ks-detail-info h1 {
    margin:
        10px 0;

    font-size:
        clamp(
            48px,
            6vw,
            85px
        );

    line-height: .95;
}


.ks-detail-meta {
    display: flex;
    gap: 12px;

    margin:
        18px 0 25px;
}


.ks-detail-meta span {
    padding:
        7px 11px;

    border:
        1px solid
        #3d3424;

    color:
        var(--gold-light);

    font-size:
        12px;
}


.ks-detail-info p {
    max-width:
        600px;

    color:
        #aaa;

    font-size:
        16px;

    line-height:
        1.7;
}


.ks-detail-price {
    margin:
        30px 0 22px;

    color:
        var(--gold-light);

    font-size:
        36px;

    font-weight:
        900;
}


/* ==========================================================
   ADMIN
========================================================== */

.ks-admin-body {
    min-height: 100vh;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(218,162,47,.10),
            transparent 32%
        ),
        #060707;

    color: white;
}


.ks-admin-shell,
.ks-form-shell {
    width:
        min(
            1150px,
            calc(100% - 40px)
        );

    margin:
        0 auto;

    padding:
        55px 0 80px;
}


.ks-form-shell {
    max-width:
        760px;
}


.ks-admin-top {
    display: flex;

    justify-content:
        space-between;

    align-items:
        flex-end;

    gap:
        30px;

    margin-bottom:
        35px;
}


.ks-admin-top h1,
.ks-form-shell h1 {
    margin:
        7px 0 0;

    font-size:
        48px;
}


.ks-admin-actions {
    display: flex;

    gap: 10px;
}


.ks-flash {
    margin-bottom: 20px;

    padding: 15px 18px;

    border:
        1px solid
        var(--gold-dark);

    background:
        rgba(218,162,47,.08);

    color:
        var(--gold-light);
}


.ks-admin-list {
    display: flex;

    flex-direction: column;

    gap: 10px;
}


.ks-admin-row {
    min-height: 95px;

    display: grid;

    grid-template-columns:
        95px
        minmax(200px,1fr)
        170px
        auto;

    align-items: center;

    gap: 20px;

    padding:
        12px;

    background:
        #0d0f0f;

    border:
        1px solid
        #2d2d2d;
}


.ks-admin-cover {
    width: 95px;

    height: 70px;

    background:
        linear-gradient(
            135deg,
            #493515,
            #080909
        );

    background-size: cover;

    background-position: center;
}


.ks-admin-info {
    display: flex;

    flex-direction: column;

    gap: 5px;
}


.ks-admin-info strong {
    font-size: 17px;
}


.ks-admin-info span {
    color: #aaa;

    font-size: 12px;
}


.ks-admin-info small {
    color: #777;
}


.ks-status {
    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 5px;
}


.ks-status span {
    padding:
        4px 7px;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: 1px;
}


.ks-status .on {
    border:
        1px solid
        var(--gold);

    color:
        var(--gold-light);
}


.ks-status .published {
    border:
        1px solid
        #346e48;

    color:
        #7fdb9d;
}


.ks-status .draft {
    border:
        1px solid
        #666;

    color:
        #aaa;
}


.ks-admin-buttons {
    display: flex;

    gap: 6px;

    flex-wrap: wrap;

    justify-content:
        flex-end;
}


.ks-admin-buttons button {
    padding:
        8px 10px;

    background:
        #131515;

    color:
        white;

    border:
        1px solid
        #444;

    cursor: pointer;
}


.ks-admin-buttons .danger {
    border-color:
        #6c2929;

    color:
        #ef8e8e;
}


/* FORM */

.ks-back {
    display: inline-block;

    margin-bottom:
        30px;

    color:
        var(--gold-light);
}


.ks-beat-form {
    margin-top:
        35px;

    display: flex;

    flex-direction: column;

    gap:
        22px;
}


.ks-beat-form label {
    display: flex;

    flex-direction: column;

    gap: 8px;

    font-size:
        13px;

    font-weight:
        800;
}


.ks-beat-form input,
.ks-beat-form textarea {
    width: 100%;

    padding:
        14px;

    background:
        #0d0f0f;

    color:
        white;

    border:
        1px solid
        #343434;

    border-radius:
        4px;

    font:
        inherit;
}


.ks-beat-form input:focus,
.ks-beat-form textarea:focus {
    outline: none;

    border-color:
        var(--gold);
}


.ks-form-two {
    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        20px;
}


.ks-beat-form small {
    color:
        #777;

    font-weight:
        normal;
}


.ks-checks {
    display: flex;

    gap:
        30px;
}


.ks-checks label {
    display: flex;

    flex-direction: row;

    align-items: center;

    gap:
        9px;
}


.ks-checks input {
    width: auto;
}


.ks-save {
    border: 0;

    cursor: pointer;
}


/* ==========================================================
   MOBILE STORE / ADMIN
========================================================== */

@media (max-width: 800px) {

    .ks-detail-grid {
        grid-template-columns:
            1fr;

        gap:
            35px;
    }


    .ks-admin-top {
        align-items:
            flex-start;

        flex-direction:
            column;
    }


    .ks-admin-row {
        grid-template-columns:
            80px 1fr;
    }


    .ks-admin-cover {
        width:
            80px;

        height:
            70px;
    }


    .ks-status,
    .ks-admin-buttons {
        grid-column:
            1 / -1;
    }


    .ks-admin-buttons {
        justify-content:
            flex-start;
    }


    .ks-form-two {
        grid-template-columns:
            1fr;
    }


    .ks-checks {
        flex-direction:
            column;

        gap:
            12px;
    }

}



/* ==========================================================
   KINGSLUMPZ ADMIN LOGIN
========================================================== */

.ks-login-page {

    min-height: 100vh;

    margin: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 30px 20px;

    background:
        radial-gradient(
            circle at 50% 20%,
            rgba(221,164,49,.18),
            transparent 33%
        ),
        #050606;

}


.ks-login-card {

    width: 100%;

    max-width: 430px;

    padding: 42px;

    background:
        linear-gradient(
            180deg,
            #101111,
            #080909
        );

    border:
        1px solid
        #3c3423;

    box-shadow:
        0 30px 80px
        rgba(0,0,0,.55);

}


.ks-login-card > img {

    width: 105px;

    height: 105px;

    display: block;

    margin:
        0 auto 25px;

    border-radius: 50%;

    object-fit: cover;

}


.ks-login-card .ks-kicker {

    text-align: center;

}


.ks-login-card h1 {

    margin:
        10px 0 8px;

    text-align: center;

    font-size: 40px;

}


.ks-login-card > p {

    margin:
        0 auto 28px;

    max-width: 320px;

    text-align: center;

    color: #999;

    line-height: 1.5;

}


.ks-login-form {

    display: flex;

    flex-direction: column;

    gap: 20px;

}


.ks-login-form label {

    display: flex;

    flex-direction: column;

    gap: 8px;

    font-size: 12px;

    font-weight: 800;

}


.ks-login-form input {

    width: 100%;

    height: 48px;

    padding: 0 14px;

    background: #070808;

    color: white;

    border:
        1px solid
        #383838;

    border-radius: 4px;

    font-size: 15px;

}


.ks-login-form input:focus {

    outline: 0;

    border-color:
        var(--gold);

}


.ks-login-form button {

    border: 0;

    cursor: pointer;

}


.ks-login-error {

    margin-bottom: 20px;

    padding: 12px;

    border:
        1px solid
        #853e3e;

    background:
        rgba(160,50,50,.10);

    color:
        #ff9c9c;

    text-align: center;

    font-size: 12px;

}


.ks-login-home {

    display: block;

    margin-top: 25px;

    text-align: center;

    color:
        var(--gold-light);

    font-size: 12px;

}



/* ==========================================================
   KINGSLUMPZ STUDIO CONTROL — PROFESSIONAL ADMIN
========================================================== */

.ks-pro-admin {
    margin: 0;
    min-height: 100vh;
    background: #080909;
    color: #f4f4f4;
    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}


.ks-pro-admin * {
    box-sizing: border-box;
}


.ks-pro-topbar {
    height: 72px;
    background: #0c0d0d;
    border-bottom: 1px solid #262626;
}


.ks-pro-topbar-inner {
    width: min(1240px, calc(100% - 40px));
    height: 100%;
    margin: auto;

    display: flex;
    align-items: center;
    justify-content: space-between;
}


.ks-pro-brand {
    display: flex;
    align-items: center;
    gap: 12px;

    color: white;
    text-decoration: none;
}


.ks-pro-brand img {
    width: 42px;
    height: 42px;

    object-fit: cover;

    border-radius: 50%;

    border: 1px solid #a97926;
}


.ks-pro-brand div {
    display: flex;
    flex-direction: column;
    gap: 1px;
}


.ks-pro-brand strong {
    font-size: 14px;
    letter-spacing: 1px;
}


.ks-pro-brand span {
    color: #777;
    font-size: 11px;
}


.ks-pro-user {
    display: flex;
    align-items: center;
    gap: 12px;
}


.ks-pro-user-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-end;

    margin-right: 8px;
}


.ks-pro-user-copy strong {
    font-size: 12px;
    font-weight: 600;
}


.ks-pro-user-copy span {
    color: #8e712d;
    font-size: 9px;
    letter-spacing: 1px;
}


.ks-pro-top-link,
.ks-pro-logout {
    padding: 9px 13px;

    color: #bbb;
    text-decoration: none;

    border: 1px solid #303030;
    border-radius: 6px;

    font-size: 11px;

    transition: .15s ease;
}


.ks-pro-top-link:hover,
.ks-pro-logout:hover {
    color: white;
    border-color: #555;
}


.ks-pro-main {
    width: min(1240px, calc(100% - 40px));
    margin: auto;
    padding: 50px 0 80px;
}


.ks-pro-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 25px;

    margin-bottom: 32px;
}


.ks-pro-eyebrow {
    margin-bottom: 8px;

    color: #c89635;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 2px;
}


.ks-pro-heading h1,
.ks-editor-heading h1 {
    margin: 0;

    color: #f5f5f5;

    font-size: clamp(34px, 4vw, 50px);
    font-weight: 700;

    letter-spacing: -2px;
}


.ks-pro-heading p,
.ks-editor-heading p {
    margin: 8px 0 0;

    color: #797979;

    font-size: 14px;
}


.ks-pro-upload {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    min-height: 42px;

    padding: 0 17px;

    color: #080808;
    background: #d6a43d;

    text-decoration: none;

    border-radius: 6px;

    font-size: 12px;
    font-weight: 750;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.22);

    transition: .15s ease;
}


.ks-pro-upload:hover {
    background: #e2b44f;
    transform: translateY(-1px);
}


.ks-pro-flash {
    margin-bottom: 24px;

    padding: 13px 16px;

    color: #d9b762;
    background: #14120c;

    border: 1px solid #40351d;
    border-radius: 6px;

    font-size: 12px;
}


.ks-pro-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    gap: 12px;

    margin-bottom: 24px;
}


.ks-pro-stat {
    min-height: 95px;

    padding: 18px 20px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    background: #0e1010;

    border: 1px solid #232525;
    border-radius: 8px;
}


.ks-pro-stat span {
    color: #666;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 1.2px;
}


.ks-pro-stat strong {
    color: #eee;

    font-size: 28px;
    font-weight: 650;
}


.ks-pro-panel {
    overflow: hidden;

    background: #0d0f0f;

    border: 1px solid #232525;
    border-radius: 9px;
}


.ks-pro-panel-head {
    min-height: 67px;

    display: flex;
    align-items: center;

    padding: 0 20px;

    border-bottom: 1px solid #232525;
}


.ks-pro-panel-head div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}


.ks-pro-panel-head strong {
    font-size: 14px;
}


.ks-pro-panel-head span {
    color: #666;
    font-size: 11px;
}


.ks-pro-table-head {
    display: grid;

    grid-template-columns:
        minmax(270px, 1.2fr)
        minmax(190px, .8fr)
        150px
        minmax(350px, 1fr);

    gap: 20px;

    padding: 12px 18px;

    color: #555;
    background: #0a0b0b;

    border-bottom: 1px solid #202222;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 1px;
}


.ks-pro-beat-row {
    min-height: 96px;

    display: grid;

    grid-template-columns:
        minmax(270px, 1.2fr)
        minmax(190px, .8fr)
        150px
        minmax(350px, 1fr);

    gap: 20px;

    align-items: center;

    padding: 14px 18px;

    border-bottom: 1px solid #202222;

    transition: background .15s ease;
}


.ks-pro-beat-row:last-child {
    border-bottom: 0;
}


.ks-pro-beat-row:hover {
    background: #111313;
}


.ks-pro-beat-main {
    display: flex;
    align-items: center;
    gap: 14px;

    min-width: 0;
}


.ks-pro-cover {
    width: 67px;
    height: 67px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #2d2516,
            #0b0b0b
        );

    background-position: center;
    background-size: cover;

    border: 1px solid #373127;
    border-radius: 6px;
}


.ks-pro-cover span {
    color: #a98239;
    font-size: 13px;
    font-weight: 800;
}


.ks-pro-title {
    min-width: 0;

    display: flex;
    flex-direction: column;
    gap: 5px;
}


.ks-pro-title strong {
    overflow: hidden;

    color: #eee;

    font-size: 14px;
    font-weight: 650;

    white-space: nowrap;
    text-overflow: ellipsis;
}


.ks-pro-title span {
    color: #555;
    font-size: 10px;
}


.ks-pro-details {
    display: flex;
    flex-direction: column;
    gap: 4px;
}


.ks-pro-details strong {
    color: #ccc;
    font-size: 12px;
    font-weight: 550;
}


.ks-pro-details span {
    color: #777;
    font-size: 11px;
}


.ks-pro-details small {
    color: #525252;
    font-size: 9px;
}


.ks-pro-statuses {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}


.ks-pill {
    display: inline-flex;
    align-items: center;

    padding: 4px 7px;

    border-radius: 999px;

    font-size: 9px;
    font-weight: 700;
}


.ks-pill-live {
    color: #76c391;
    background: rgba(71, 154, 100, .11);

    border: 1px solid rgba(81, 168, 111, .25);
}


.ks-pill-draft {
    color: #999;
    background: #141515;

    border: 1px solid #303232;
}


.ks-pill-featured {
    color: #d3aa55;
    background: rgba(198, 147, 42, .09);

    border: 1px solid rgba(198, 147, 42, .22);
}


.ks-pro-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;

    gap: 6px;
}


.ks-pro-actions form {
    margin: 0;
}


.ks-row-button {
    height: 31px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 10px;

    color: #9d9d9d;
    background: #111313;

    border: 1px solid #303232;
    border-radius: 5px;

    font: inherit;
    font-size: 10px;
    font-weight: 550;

    text-decoration: none;

    cursor: pointer;

    transition: .15s ease;
}


.ks-row-button:hover {
    color: white;
    background: #181a1a;
    border-color: #484a4a;
}


.ks-row-edit {
    color: #d1a84f;
    border-color: #554621;
}


.ks-row-delete {
    color: #b66b6b;
    border-color: #4c2929;
}


.ks-row-delete:hover {
    color: #e58c8c;
    border-color: #713c3c;
}


.ks-pro-empty {
    padding: 70px 20px;

    text-align: center;
}


.ks-pro-empty strong {
    display: block;
    margin-bottom: 7px;

    font-size: 18px;
}


.ks-pro-empty p {
    margin: 0 0 22px;

    color: #777;
    font-size: 13px;
}


.ks-pro-footer {
    width: min(1240px, calc(100% - 40px));

    margin: 0 auto;

    padding: 22px 0 35px;

    display: flex;
    justify-content: space-between;

    color: #444;

    border-top: 1px solid #202222;

    font-size: 10px;
}


/* ==========================================================
   BEAT EDITOR
========================================================== */

.ks-editor-main {
    width: min(880px, calc(100% - 40px));

    margin: auto;

    padding: 42px 0 90px;
}


.ks-editor-back {
    display: inline-block;

    margin-bottom: 36px;

    color: #777;
    text-decoration: none;

    font-size: 11px;
}


.ks-editor-back:hover {
    color: #d2a545;
}


.ks-editor-heading {
    margin-bottom: 28px;
}


.ks-editor-form {
    display: flex;
    flex-direction: column;

    gap: 14px;
}


.ks-editor-card {
    padding: 24px;

    background: #0e1010;

    border: 1px solid #242626;
    border-radius: 8px;
}


.ks-editor-section-title {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 24px;
}


.ks-editor-section-title > span {
    width: 28px;
    height: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #bd9138;
    background: #17140e;

    border: 1px solid #3d321c;
    border-radius: 50%;

    font-size: 9px;
    font-weight: 800;
}


.ks-editor-section-title div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}


.ks-editor-section-title strong {
    font-size: 13px;
}


.ks-editor-section-title small {
    color: #606060;
    font-size: 10px;
}


.ks-editor-card label {
    display: flex;
    flex-direction: column;
    gap: 7px;

    margin-bottom: 18px;
}


.ks-editor-card label > span {
    color: #979797;
    font-size: 11px;
    font-weight: 550;
}


.ks-editor-card input[type="text"],
.ks-editor-card input[type="number"],
.ks-editor-card textarea {
    width: 100%;

    padding: 12px 13px;

    color: #ededed;
    background: #080909;

    border: 1px solid #2f3131;
    border-radius: 5px;

    font: inherit;
    font-size: 13px;
}


.ks-editor-card input:focus,
.ks-editor-card textarea:focus {
    outline: none;
    border-color: #806528;
}


.ks-editor-card textarea {
    min-height: 120px;
    resize: vertical;
}


.ks-editor-grid {
    display: grid;

    grid-template-columns:
        1fr
        .65fr
        .75fr;

    gap: 14px;
}


.ks-price-field {
    display: flex;
    align-items: center;

    background: #080909;

    border: 1px solid #2f3131;
    border-radius: 5px;
}


.ks-price-field > span {
    padding-left: 12px;
    color: #6d6d6d;
}


.ks-price-field input {
    border: 0 !important;
}


.ks-upload-grid {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 14px;
}


.ks-file-box {
    min-height: 175px;

    padding: 18px;

    justify-content: center;

    background: #0a0b0b;

    border: 1px dashed #373939;
    border-radius: 6px;
}


.ks-file-box strong {
    font-size: 12px;
}


.ks-file-box small {
    color: #626262;
    font-size: 10px;
}


.ks-file-box input[type="file"] {
    margin-top: 8px;

    color: #888;

    font-size: 10px;
}


.ks-current-art {
    width: 85px;
    height: 85px;

    margin: 6px 0;

    background-size: cover;
    background-position: center;

    border-radius: 5px;
}


.ks-file-existing {
    margin: 8px 0;

    color: #79b58e;
    font-size: 11px;
}


.ks-editor-toggles {
    display: flex;
    flex-direction: column;
}


.ks-switch-row {
    margin: 0 !important;

    padding: 14px 0;

    flex-direction: row !important;
    align-items: center;
    justify-content: space-between;

    border-bottom: 1px solid #242626;
}


.ks-switch-row:last-child {
    border-bottom: 0;
}


.ks-switch-row div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}


.ks-switch-row strong {
    font-size: 12px;
}


.ks-switch-row small {
    color: #666;
    font-size: 10px;
}


.ks-switch-row input {
    width: 17px;
    height: 17px;

    accent-color: #c89535;
}


.ks-editor-savebar {
    margin-top: 8px;

    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 10px;
}


.ks-editor-cancel {
    padding: 11px 15px;

    color: #777;
    text-decoration: none;

    font-size: 11px;
}


.ks-editor-save {
    min-width: 130px;
    height: 42px;

    padding: 0 18px;

    color: #080808;
    background: #d3a13d;

    border: 0;
    border-radius: 6px;

    font-size: 11px;
    font-weight: 750;

    cursor: pointer;
}


.ks-editor-save:hover {
    background: #e2b34e;
}


/* ==========================================================
   ADMIN MOBILE
========================================================== */

@media (max-width: 950px) {

    .ks-pro-table-head {
        display: none;
    }

    .ks-pro-beat-row {
        grid-template-columns:
            minmax(220px, 1fr)
            1fr;

        gap: 15px;
    }

    .ks-pro-statuses {
        grid-column: 1;
    }

    .ks-pro-actions {
        grid-column: 2;
        justify-content: flex-start;
    }

}


@media (max-width: 700px) {

    .ks-pro-topbar {
        height: auto;
    }

    .ks-pro-topbar-inner {
        padding: 12px 0;

        align-items: flex-start;
        gap: 15px;
    }

    .ks-pro-user-copy {
        display: none;
    }

    .ks-pro-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .ks-pro-stats {
        grid-template-columns: 1fr 1fr;
    }

    .ks-pro-beat-row {
        grid-template-columns: 1fr;
    }

    .ks-pro-details,
    .ks-pro-statuses,
    .ks-pro-actions {
        grid-column: 1;
    }

    .ks-pro-actions {
        justify-content: flex-start;
    }

    .ks-editor-grid,
    .ks-upload-grid {
        grid-template-columns: 1fr;
    }

    .ks-pro-footer {
        flex-direction: column;
        gap: 5px;
    }

}


@media (max-width: 470px) {

    .ks-pro-main,
    .ks-editor-main,
    .ks-pro-topbar-inner {
        width: min(100% - 24px, 1240px);
    }

    .ks-pro-stats {
        grid-template-columns: 1fr;
    }

    .ks-pro-brand span {
        display: none;
    }

    .ks-pro-top-link {
        display: none;
    }

}



/* ==========================================================
   KINGSLUMPZ STUDIO V2
========================================================== */

.ks-studio-body {
    margin: 0;
    min-height: 100vh;
    background: #090a0a;
    color: #f1f1f1;
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}


.ks-studio-body * {
    box-sizing: border-box;
}


.ks-studio-sidebar {
    position: fixed;
    inset: 0 auto 0 0;

    width: 218px;

    display: flex;
    flex-direction: column;

    background: #0d0e0e;

    border-right: 1px solid #242525;

    z-index: 100;
}


.ks-studio-logo {
    height: 76px;

    display: flex;
    align-items: center;

    gap: 11px;

    padding: 0 19px;

    color: white;

    text-decoration: none;

    border-bottom: 1px solid #222323;
}


.ks-studio-logo img {
    width: 38px;
    height: 38px;

    object-fit: cover;

    border-radius: 50%;

    border: 1px solid #76591f;
}


.ks-studio-logo div {
    display: flex;
    flex-direction: column;
}


.ks-studio-logo strong {
    font-size: 12px;

    letter-spacing: .8px;
}


.ks-studio-logo span {
    margin-top: 2px;

    color: #666;

    font-size: 9px;
}


.ks-studio-nav {
    padding: 18px 10px;

    display: flex;
    flex-direction: column;

    gap: 3px;
}


.ks-studio-nav a {
    height: 42px;

    display: flex;
    align-items: center;

    gap: 11px;

    padding: 0 12px;

    color: #828282;

    text-decoration: none;

    border-radius: 5px;

    font-size: 12px;

    transition: .15s ease;
}


.ks-studio-nav a:hover {
    color: #ddd;

    background: #141515;
}


.ks-studio-nav a.active {
    color: #e5b650;

    background: #18150e;
}


.nav-icon {
    width: 18px;

    text-align: center;

    color: #b88b31;

    font-size: 15px;
}


.ks-sidebar-bottom {
    margin-top: auto;

    padding: 15px 10px 20px;

    display: flex;
    flex-direction: column;

    gap: 3px;

    border-top: 1px solid #222323;
}


.ks-sidebar-bottom a {
    padding: 9px 12px;

    color: #666;

    text-decoration: none;

    font-size: 10px;
}


.ks-sidebar-bottom a:hover {
    color: #ddd;
}


.ks-studio-content {
    margin-left: 218px;

    width: calc(100% - 218px);

    padding: 48px 42px 80px;
}


.ks-studio-page-head {
    max-width: 1180px;

    margin: 0 auto 28px;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 25px;
}


.ks-studio-label {
    margin: 0 0 7px;

    color: #b98930 !important;

    font-size: 9px !important;
    font-weight: 800;

    letter-spacing: 1.7px;
}


.ks-studio-page-head h1 {
    margin: 0;

    font-size: 36px;
    font-weight: 650;

    letter-spacing: -1.4px;
}


.ks-studio-page-head p {
    margin: 7px 0 0;

    color: #6e6e6e;

    font-size: 12px;
}


.ks-action-primary,
.ks-action-secondary {
    min-height: 39px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 15px;

    border-radius: 5px;

    text-decoration: none;

    font-size: 11px;
    font-weight: 650;
}


.ks-action-primary {
    color: #080808;

    background: #d6a73e;
}


.ks-action-secondary {
    color: #bbb;

    background: #111212;

    border: 1px solid #303131;
}


.ks-studio-message {
    max-width: 1180px;

    margin: 0 auto 18px;

    padding: 12px 15px;

    color: #d0ac59;

    background: #16130d;

    border: 1px solid #3c321c;
    border-radius: 5px;

    font-size: 11px;
}


.ks-studio-metrics {
    max-width: 1180px;

    margin: auto;

    display: grid;

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

    gap: 12px;
}


.ks-metric {
    min-height: 106px;

    padding: 18px;

    display: flex;
    flex-direction: column;

    background: #0e1010;

    border: 1px solid #232525;
    border-radius: 7px;
}


.ks-metric > span {
    color: #727272;

    font-size: 10px;
}


.ks-metric strong {
    margin-top: 9px;

    font-size: 27px;
    font-weight: 600;
}


.ks-metric small {
    margin-top: auto;

    color: #4e4e4e;

    font-size: 9px;
}


.ks-quick-actions {
    max-width: 1180px;

    margin: 16px auto;

    display: grid;

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

    gap: 8px;
}


.ks-quick-actions a {
    min-height: 66px;

    display: flex;
    align-items: center;

    gap: 11px;

    padding: 12px 14px;

    color: #ddd;

    background: #0d0f0f;

    border: 1px solid #222424;
    border-radius: 6px;

    text-decoration: none;
}


.ks-quick-actions > a > span {
    width: 30px;
    height: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    color: #c7983a;

    background: #18150f;

    border-radius: 5px;
}


.ks-quick-actions div {
    display: flex;
    flex-direction: column;

    gap: 3px;
}


.ks-quick-actions strong {
    font-size: 11px;
}


.ks-quick-actions small {
    color: #595959;

    font-size: 9px;
}


.ks-dashboard-grid {
    max-width: 1180px;

    margin: auto;

    display: grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(310px, .65fr);

    gap: 14px;
}


.ks-studio-panel {
    max-width: 1180px;

    margin: 0 auto;

    overflow: hidden;

    background: #0e1010;

    border: 1px solid #232525;
    border-radius: 7px;
}


.ks-panel-title {
    min-height: 61px;

    padding: 0 17px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-bottom: 1px solid #222424;
}


.ks-panel-title > div {
    display: flex;
    flex-direction: column;

    gap: 3px;
}


.ks-panel-title strong {
    font-size: 12px;
}


.ks-panel-title span {
    color: #575757;

    font-size: 9px;
}


.ks-panel-title a {
    color: #a47f36;

    font-size: 9px;

    text-decoration: none;
}


.ks-dashboard-beat {
    min-height: 72px;

    padding: 10px 14px;

    display: grid;

    grid-template-columns:
        48px
        minmax(130px, 1fr)
        auto
        auto;

    gap: 12px;

    align-items: center;

    border-bottom: 1px solid #202222;
}


.ks-dashboard-beat:last-child {
    border-bottom: 0;
}


.ks-mini-cover,
.ks-manager-cover {
    background:
        linear-gradient(
            135deg,
            #302714,
            #090909
        );

    background-position: center;
    background-size: cover;

    border: 1px solid #302c22;
    border-radius: 4px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #97772f;

    font-size: 9px;
    font-weight: 800;
}


.ks-mini-cover {
    width: 48px;
    height: 48px;
}


.ks-dashboard-beat-name {
    min-width: 0;

    display: flex;
    flex-direction: column;

    gap: 4px;
}


.ks-dashboard-beat-name strong {
    overflow: hidden;

    font-size: 11px;
    font-weight: 600;

    white-space: nowrap;
    text-overflow: ellipsis;
}


.ks-dashboard-beat-name span {
    color: #5a5a5a;

    font-size: 9px;
}


.ks-small-status {
    padding: 4px 7px;

    color: #8a8a8a;

    background: #151616;

    border: 1px solid #2c2e2e;
    border-radius: 999px;

    font-size: 8px;
}


.ks-small-status.live {
    color: #72b887;

    background: #0e1711;

    border-color: #24462e;
}


.ks-small-status.gold {
    color: #caa24e;

    background: #18140c;

    border-color: #4a3918;
}


.ks-mini-action {
    color: #a88847;

    text-decoration: none;

    font-size: 9px;
}


.ks-incoming-row {
    min-height: 65px;

    padding: 10px 14px;

    display: grid;

    grid-template-columns:
        34px
        1fr
        auto;

    gap: 10px;

    align-items: center;

    color: inherit;

    text-decoration: none;

    border-bottom: 1px solid #202222;
}


.ks-incoming-row:last-child {
    border-bottom: 0;
}


.ks-incoming-icon {
    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #c99a3b;

    background: #17140e;

    border-radius: 50%;

    font-size: 10px;
    font-weight: 700;
}


.ks-incoming-row > div:nth-child(2) {
    display: flex;
    flex-direction: column;

    gap: 3px;
}


.ks-incoming-row strong {
    font-size: 10px;
}


.ks-incoming-row span,
.ks-incoming-row small {
    color: #5b5b5b;

    font-size: 8px;
}


.ks-studio-empty {
    padding: 45px 20px;

    color: #666;

    text-align: center;

    font-size: 11px;
}


.ks-studio-empty a {
    color: #b58d3e;
}


/* BEAT MANAGER */

.ks-beat-manager-row {
    min-height: 90px;

    padding: 12px 15px;

    display: grid;

    grid-template-columns:
        minmax(260px, 1fr)
        140px
        auto;

    gap: 15px;

    align-items: center;

    border-bottom: 1px solid #202222;
}


.ks-beat-manager-row:last-child {
    border-bottom: 0;
}


.ks-beat-manager-main {
    display: flex;

    align-items: center;

    gap: 12px;
}


.ks-manager-cover {
    width: 62px;
    height: 62px;

    flex-shrink: 0;
}


.ks-beat-manager-main > div:last-child {
    display: flex;
    flex-direction: column;

    gap: 4px;
}


.ks-beat-manager-main strong {
    font-size: 12px;
}


.ks-beat-manager-main span {
    color: #777;

    font-size: 9px;
}


.ks-beat-manager-main small {
    color: #4f4f4f;

    font-size: 8px;
}


.ks-manager-status {
    display: flex;

    gap: 5px;

    flex-wrap: wrap;
}


.ks-manager-actions {
    display: flex;

    gap: 5px;

    flex-wrap: wrap;

    justify-content: flex-end;
}


.ks-manager-actions form {
    margin: 0;
}


.ks-manager-actions a,
.ks-manager-actions button {
    height: 29px;

    display: inline-flex;

    align-items: center;

    padding: 0 9px;

    color: #909090;

    background: #111313;

    border: 1px solid #2c2e2e;
    border-radius: 4px;

    text-decoration: none;

    font: inherit;
    font-size: 8px;

    cursor: pointer;
}


.ks-manager-actions .delete {
    color: #ad6868;

    border-color: #482828;
}


/* LICENSES */

.ks-license-grid {
    max-width: 1180px;

    margin: auto;

    display: grid;

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

    gap: 12px;
}


.ks-license-card {
    padding: 19px;

    display: flex;

    flex-direction: column;

    gap: 15px;

    background: #0e1010;

    border: 1px solid #242626;
    border-radius: 7px;
}


.ks-license-top {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;
}


.ks-license-name {
    min-width: 0;

    padding: 0 !important;

    color: #eee !important;

    background: transparent !important;

    border: 0 !important;

    font-size: 16px !important;
    font-weight: 650 !important;
}


.ks-enabled-check {
    flex-direction: row !important;

    align-items: center;

    gap: 5px !important;

    margin: 0 !important;

    color: #777 !important;

    font-size: 9px !important;
}


.ks-license-card label {
    display: flex;

    flex-direction: column;

    gap: 6px;

    color: #6c6c6c;

    font-size: 9px;
}


.ks-license-card input[type="text"],
.ks-license-card input[type="number"],
.ks-license-card textarea {
    width: 100%;

    padding: 10px;

    color: #ddd;

    background: #090a0a;

    border: 1px solid #2b2d2d;
    border-radius: 4px;

    font: inherit;
    font-size: 10px;
}


.ks-license-card textarea {
    resize: vertical;
}


.ks-license-price {
    display: flex;

    align-items: center;

    background: #090a0a;

    border: 1px solid #2b2d2d;
    border-radius: 4px;
}


.ks-license-price span {
    padding-left: 10px;

    color: #666;
}


.ks-license-price input {
    border: 0 !important;
}


.ks-license-card button {
    height: 35px;

    color: #171108;

    background: #cf9f3d;

    border: 0;
    border-radius: 4px;

    font-size: 9px;
    font-weight: 700;

    cursor: pointer;
}


.ks-license-note {
    max-width: 1180px;

    margin: 14px auto 0;

    color: #555;

    font-size: 9px;
}


/* REQUESTS */

.ks-request-card {
    padding: 16px;

    display: grid;

    grid-template-columns:
        minmax(190px, .7fr)
        minmax(300px, 1.3fr)
        135px;

    gap: 20px;

    align-items: center;

    border-bottom: 1px solid #202222;
}


.ks-request-card:last-child {
    border-bottom: 0;
}


.ks-request-person {
    display: flex;

    align-items: center;

    gap: 11px;
}


.ks-request-avatar {
    width: 39px;
    height: 39px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #c69639;

    background: #18150f;

    border-radius: 50%;

    font-size: 12px;
    font-weight: 700;
}


.ks-request-person > div:last-child {
    display: flex;

    flex-direction: column;

    gap: 3px;
}


.ks-request-person strong {
    font-size: 11px;
}


.ks-request-person a {
    color: #646464;

    text-decoration: none;

    font-size: 8px;
}


.ks-request-details {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 8px 18px;
}


.ks-request-details > div {
    display: flex;

    flex-direction: column;

    gap: 2px;
}


.ks-request-details span {
    color: #4f4f4f;

    font-size: 8px;
}


.ks-request-details strong {
    color: #aaa;

    font-size: 9px;
    font-weight: 500;
}


.ks-request-details p {
    grid-column: 1 / -1;

    margin: 4px 0 0;

    color: #777;

    font-size: 9px;

    line-height: 1.45;
}


.ks-status-form {
    display: flex;

    gap: 5px;
}


.ks-status-form select {
    min-width: 0;

    padding: 7px;

    color: #aaa;

    background: #090a0a;

    border: 1px solid #2d2f2f;
    border-radius: 4px;

    font-size: 8px;
}


.ks-status-form button {
    padding: 0 9px;

    color: #c9a352;

    background: #17140e;

    border: 1px solid #46391d;
    border-radius: 4px;

    font-size: 8px;

    cursor: pointer;
}


/* PUBLIC FORMS */

.ks-public-form-body {
    margin: 0;

    min-height: 100vh;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(194,143,39,.10),
            transparent 32%
        ),
        #070808;

    color: white;

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}


.ks-public-form-body * {
    box-sizing: border-box;
}


.ks-public-form-wrap {
    width: min(700px, calc(100% - 32px));

    margin: auto;

    padding: 40px 0 80px;
}


.ks-public-back {
    display: inline-block;

    margin-bottom: 60px;

    color: #a17d36;

    text-decoration: none;

    font-size: 10px;
}


.ks-public-form-head {
    margin-bottom: 28px;
}


.ks-public-form-head > span {
    color: #c69535;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 1.8px;
}


.ks-public-form-head h1 {
    margin: 8px 0;

    font-size: 42px;

    letter-spacing: -1.5px;
}


.ks-public-form-head p {
    margin: 0;

    color: #777;

    font-size: 12px;
}


.ks-public-form {
    padding: 25px;

    display: flex;

    flex-direction: column;

    gap: 18px;

    background: #0d0f0f;

    border: 1px solid #272929;
    border-radius: 7px;
}


.ks-form-pair {
    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 14px;
}


.ks-public-form label {
    display: flex;

    flex-direction: column;

    gap: 6px;

    color: #858585;

    font-size: 9px;
}


.ks-public-form input,
.ks-public-form select,
.ks-public-form textarea {
    width: 100%;

    padding: 11px;

    color: #eee;

    background: #080909;

    border: 1px solid #2f3131;
    border-radius: 4px;

    font: inherit;
    font-size: 11px;
}


.ks-public-form textarea {
    resize: vertical;
}


.ks-public-form button {
    height: 41px;

    color: #100d08;

    background: #d3a03b;

    border: 0;
    border-radius: 4px;

    font-size: 10px;
    font-weight: 750;

    cursor: pointer;
}


.ks-success-card {
    padding: 60px 30px;

    text-align: center;

    background: #0d0f0f;

    border: 1px solid #292b2b;
    border-radius: 7px;
}


.ks-success-card > span {
    width: 50px;
    height: 50px;

    margin: auto;

    display: flex;

    align-items: center;
    justify-content: center;

    color: #d5a541;

    background: #18150f;

    border-radius: 50%;

    font-size: 20px;
}


.ks-success-card h1 {
    margin: 18px 0 8px;
}


.ks-success-card p {
    color: #777;

    font-size: 11px;
}


.ks-success-card a {
    display: inline-block;

    margin-top: 15px;

    color: #d2a342;

    font-size: 10px;
}


/* MOBILE */

@media (max-width: 1000px) {

    .ks-license-grid {
        grid-template-columns:
            1fr 1fr;
    }

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

    .ks-status-form {
        grid-column: 1 / -1;
    }

}


@media (max-width: 800px) {

    .ks-studio-sidebar {
        position: static;

        width: 100%;

        height: auto;
    }

    .ks-studio-logo {
        height: 60px;
    }

    .ks-studio-nav {
        padding: 8px;

        flex-direction: row;

        overflow-x: auto;
    }

    .ks-studio-nav a {
        flex-shrink: 0;

        height: 36px;
    }

    .ks-sidebar-bottom {
        display: none;
    }

    .ks-studio-content {
        width: 100%;

        margin-left: 0;

        padding: 30px 16px 60px;
    }

    .ks-studio-metrics,
    .ks-quick-actions {
        grid-template-columns:
            1fr 1fr;
    }

    .ks-dashboard-grid {
        grid-template-columns:
            1fr;
    }

    .ks-beat-manager-row {
        grid-template-columns:
            1fr;
    }

    .ks-manager-actions {
        justify-content: flex-start;
    }

}


@media (max-width: 600px) {

    .ks-studio-page-head {
        align-items: flex-start;

        flex-direction: column;
    }

    .ks-license-grid {
        grid-template-columns:
            1fr;
    }

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

    .ks-request-details,
    .ks-status-form {
        grid-column: 1;
    }

    .ks-form-pair {
        grid-template-columns:
            1fr;
    }

}


@media (max-width: 450px) {

    .ks-studio-metrics,
    .ks-quick-actions {
        grid-template-columns:
            1fr;
    }

}



/* ==========================================================
   KINGSLUMPZ SOFTWARE DASHBOARD V3
========================================================== */

.ks-app-body {
    margin: 0;
    min-height: 100vh;
    background: #0a0e11;
    color: #edf0f2;

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}


.ks-app-body * {
    box-sizing: border-box;
}


.ks-app-sidebar {
    position: fixed;
    inset: 0 auto 0 0;

    width: 240px;
    height: 100vh;

    display: flex;
    flex-direction: column;

    background:
        linear-gradient(
            180deg,
            #11171c,
            #0d1216
        );

    border-right:
        1px solid #242d33;

    z-index: 200;
}


.ks-app-brand {
    height: 65px;

    display: flex;
    align-items: center;

    gap: 11px;

    padding:
        0 21px;

    border-bottom:
        1px solid #242d33;
}


.ks-app-brand img {
    width: 31px;
    height: 31px;

    object-fit: cover;

    border-radius: 50%;
}


.ks-app-brand strong {
    font-size: 15px;
    letter-spacing: .7px;
}


.ks-app-nav {
    padding:
        19px 8px 8px;

    display: flex;
    flex-direction: column;

    gap: 4px;
}


.ks-app-nav a {
    height: 42px;

    display: flex;
    align-items: center;

    gap: 11px;

    padding:
        0 13px;

    color: #b5bdc4;

    border-radius: 5px;

    text-decoration: none;

    font-size: 12px;

    transition:
        .15s ease;
}


.ks-app-nav a > span {
    width: 21px;

    color: #bcc4ca;

    text-align: center;

    font-size: 15px;
}


.ks-app-nav a:hover {
    color: white;

    background:
        #171e23;
}


.ks-app-nav a.active {
    position: relative;

    color:
        #f3bd48;

    background:
        linear-gradient(
            90deg,
            #20282e,
            #1b2328
        );
}


.ks-app-nav a.active::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;
    bottom: 0;

    width: 3px;

    background:
        #e6ad39;

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


.ks-app-nav-separator {
    height: 1px;

    margin:
        12px 21px;

    background:
        #273037;
}


.ks-app-sidebar-label {
    padding:
        7px 21px 0;

    color:
        #58636b;

    font-size:
        8px;

    font-weight:
        700;

    letter-spacing:
        1.4px;
}


.ks-app-sidebar-bottom {
    margin-top: auto;

    padding:
        14px 8px 20px;

    display: flex;

    flex-direction: column;

    gap: 4px;

    border-top:
        1px solid #242d33;
}


.ks-app-sidebar-bottom a {
    height: 39px;

    padding:
        0 13px;

    display: flex;

    align-items: center;

    gap: 11px;

    color:
        #aab2b8;

    text-decoration: none;

    font-size:
        11px;

    border-radius:
        5px;
}


.ks-app-sidebar-bottom a:hover {
    background:
        #171e23;

    color: white;
}


.ks-app-sidebar-bottom span {
    width: 21px;

    text-align: center;
}


.ks-app-shell {
    min-height: 100vh;

    margin-left:
        240px;
}


.ks-app-topbar {
    height: 65px;

    padding:
        0 30px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    background:
        rgba(
            13,
            18,
            22,
            .96
        );

    border-bottom:
        1px solid #242d33;
}


.ks-app-search {
    width:
        min(
            405px,
            48vw
        );

    height: 38px;

    display: flex;

    align-items: center;

    gap: 9px;

    padding:
        0 11px;

    background:
        #151c21;

    border:
        1px solid #303a42;

    border-radius:
        6px;
}


.ks-app-search span {
    color:
        #7e8a93;

    font-size:
        16px;
}


.ks-app-search input {
    width: 100%;

    color: white;

    background:
        transparent;

    border: 0;

    outline: 0;

    font-size:
        11px;
}


.ks-app-search input::placeholder {
    color:
        #727e87;
}


.ks-app-top-actions {
    display: flex;

    align-items: center;

    gap: 11px;
}


.ks-view-store {
    height: 36px;

    display: inline-flex;

    align-items: center;

    padding:
        0 13px;

    color:
        #e4e8ea;

    background:
        #11171b;

    border:
        1px solid #343e45;

    border-radius:
        5px;

    text-decoration:
        none;

    font-size:
        10px;
}


.ks-user-circle {
    width: 35px;
    height: 35px;

    display: flex;

    align-items: center;

    justify-content: center;

    color:
        #dfe3e6;

    background:
        #34414b;

    border-radius:
        50%;

    font-size:
        12px;

    font-weight:
        700;
}


.ks-user-name {
    font-size:
        11px;
}


.ks-topbar-page {
    color:
        #b7c0c6;

    font-size:
        11px;

    font-weight:
        600;
}


.ks-app-main {
    width:
        min(
            1260px,
            calc(
                100% - 56px
            )
        );

    margin:
        0 auto;

    padding:
        31px 0 60px;
}


.ks-app-main.narrow {
    max-width:
        930px;
}


.ks-app-heading {
    display: flex;

    justify-content:
        space-between;

    align-items:
        flex-end;

    margin-bottom:
        20px;
}


.ks-app-eyebrow {
    display: block;

    margin-bottom:
        7px;

    color:
        #89959e;

    font-size:
        9px;

    font-weight:
        750;

    letter-spacing:
        1.5px;
}


.ks-app-heading h1,
.ks-pricing-heading h1 {
    margin:
        0;

    color:
        #f6f7f8;

    font-size:
        clamp(
            27px,
            3vw,
            34px
        );

    font-weight:
        650;

    letter-spacing:
        -1px;
}


.ks-app-heading p,
.ks-pricing-heading p {
    margin:
        6px 0 0;

    color:
        #8e9aa3;

    font-size:
        12px;
}


.ks-software-stats {
    display: grid;

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

    gap:
        14px;

    margin-bottom:
        14px;
}


.ks-software-stat {
    min-height:
        126px;

    padding:
        16px;

    display: flex;

    gap:
        14px;

    background:
        linear-gradient(
            145deg,
            #141b20,
            #11171b
        );

    border:
        1px solid #29343b;

    border-radius:
        7px;
}


.ks-stat-icon {
    width: 42px;
    height: 42px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    color:
        #ecf0f2;

    background:
        #20282e;

    border-radius:
        6px;

    font-size:
        20px;
}


.ks-software-stat > div:last-child {
    display: flex;

    flex-direction: column;
}


.ks-software-stat span {
    color:
        #c5ccd1;

    font-size:
        10px;
}


.ks-software-stat strong {
    margin-top:
        8px;

    color:
        #f4f6f7;

    font-size:
        27px;

    font-weight:
        650;
}


.ks-software-stat small {
    margin-top:
        auto;

    color:
        #68747d;

    font-size:
        8px;
}


.ks-software-card {
    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            #131a1f,
            #10161a
        );

    border:
        1px solid #29343b;

    border-radius:
        7px;
}


.ks-quick-card {
    margin-bottom:
        14px;

    padding:
        14px 15px;
}


.ks-software-card-title {
    margin-bottom:
        11px;

    color:
        #edf0f1;

    font-size:
        12px;

    font-weight:
        650;
}


.ks-software-quick-grid {
    display: grid;

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

    gap:
        11px;
}


.ks-software-quick-grid a {
    position: relative;

    min-height:
        40px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap:
        7px;

    color:
        #dce1e4;

    background:
        #171e23;

    border:
        1px solid #303a41;

    border-radius:
        5px;

    text-decoration:
        none;

    font-size:
        10px;

    font-weight:
        550;
}


.ks-software-quick-grid a:hover {
    border-color:
        #4a555d;

    background:
        #1d252b;
}


.ks-software-quick-grid a.primary {
    color:
        #16120a;

    background:
        linear-gradient(
            90deg,
            #f0b94f,
            #e1a83d
        );

    border-color:
        #e6ae41;

    font-weight:
        700;
}


.ks-count-badge {
    min-width:
        19px;

    height:
        19px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        0 5px;

    color:
        #17120a;

    background:
        #c9973b;

    border-radius:
        999px;

    font-size:
        8px;

    font-weight:
        800;
}


.ks-count-badge.gray {
    color:
        #d9dee1;

    background:
        #4b5861;
}


.ks-main-dashboard-grid {
    display: grid;

    grid-template-columns:
        minmax(
            0,
            1.45fr
        )
        minmax(
            310px,
            .85fr
        );

    gap:
        14px;

    margin-bottom:
        14px;
}


.ks-software-card-header {
    height:
        50px;

    padding:
        0 15px;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    border-bottom:
        1px solid #283238;
}


.ks-software-card-header strong {
    font-size:
        12px;
}


.ks-software-card-header a {
    color:
        #c8d0d5;

    text-decoration:
        none;

    font-size:
        8px;
}


.ks-real-table-head,
.ks-real-table-row {
    display: grid;

    grid-template-columns:
        minmax(
            170px,
            1.6fr
        )
        .7fr
        .45fr
        .65fr
        .75fr
        1fr;

    gap:
        10px;

    align-items:
        center;
}


.ks-real-table-head {
    min-height:
        34px;

    padding:
        0 14px;

    color:
        #7e8a93;

    font-size:
        7px;

    letter-spacing:
        .6px;

    border-bottom:
        1px solid #283238;
}


.ks-real-table-row {
    min-height:
        51px;

    padding:
        7px 14px;

    color:
        #acb5bb;

    font-size:
        9px;

    border-bottom:
        1px solid #222b31;
}


.ks-real-table-row:last-child {
    border-bottom:
        0;
}


.ks-real-table-row:hover {
    background:
        rgba(
            255,
            255,
            255,
            .015
        );
}


.ks-table-beat {
    display: flex;

    align-items: center;

    gap:
        9px;

    min-width:
        0;
}


.ks-table-beat strong {
    overflow:
        hidden;

    color:
        #edf1f3;

    font-size:
        10px;

    font-weight:
        600;

    white-space:
        nowrap;

    text-overflow:
        ellipsis;
}


.ks-table-cover {
    width:
        34px;

    height:
        34px;

    flex-shrink:
        0;

    display: flex;

    align-items:
        center;

    justify-content:
        center;

    background:
        #20282d;

    background-position:
        center;

    background-size:
        cover;

    border-radius:
        4px;

    color:
        #c7973f;

    font-size:
        7px;
}


.ks-table-price {
    color:
        #d9dfe2;

    font-size:
        9px;
}


.ks-status-tag {
    width:
        max-content;

    display:
        inline-flex;

    align-items:
        center;

    padding:
        4px 7px;

    border-radius:
        4px;

    font-size:
        7px;

    font-weight:
        650;
}


.ks-status-tag.published {
    color:
        #6fe0a1;

    background:
        #0c3a29;
}


.ks-status-tag.draft {
    color:
        #bac3c8;

    background:
        #37434b;
}


.ks-status-tag.request {
    color:
        #dce6ed;

    background:
        #1766a2;
}


.ks-row-actions {
    display: flex;

    gap:
        5px;
}


.ks-row-actions a {
    padding:
        6px 8px;

    color:
        #c8d0d5;

    background:
        #171e23;

    border:
        1px solid #323d44;

    border-radius:
        4px;

    text-decoration:
        none;

    font-size:
        7px;
}


.ks-row-actions a:first-child {
    color:
        #efbb50;

    border-color:
        #5b4824;
}


.ks-table-empty {
    padding:
        35px 15px;

    color:
        #637079;

    text-align:
        center;

    font-size:
        9px;
}


.ks-activity-row {
    min-height:
        54px;

    margin:
        0 13px;

    display:
        grid;

    grid-template-columns:
        34px
        1fr
        auto;

    gap:
        10px;

    align-items:
        center;

    color:
        inherit;

    text-decoration:
        none;

    border-bottom:
        1px solid #283238;
}


.ks-activity-row:last-child {
    border-bottom:
        0;
}


.ks-activity-icon {
    width:
        31px;

    height:
        31px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    color:
        #dbe2e6;

    background:
        #27323a;

    border-radius:
        50%;

    font-size:
        10px;
}


.ks-activity-row > div:nth-child(2) {
    display:
        flex;

    flex-direction:
        column;

    gap:
        2px;
}


.ks-activity-row strong {
    color:
        #e3e8ea;

    font-size:
        9px;

    font-weight:
        550;
}


.ks-activity-row span,
.ks-activity-row small {
    color:
        #77848c;

    font-size:
        7px;
}


.ks-request-dashboard-grid {
    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        14px;
}


.ks-mini-data-table .head,
.ks-mini-data-table .row {
    display:
        grid;

    grid-template-columns:
        1fr
        .8fr
        1fr
        .8fr;

    gap:
        8px;

    align-items:
        center;
}


.ks-mini-data-table .head {
    min-height:
        34px;

    padding:
        0 15px;

    color:
        #7a868f;

    border-bottom:
        1px solid #283238;

    font-size:
        7px;
}


.ks-mini-data-table .row {
    min-height:
        41px;

    padding:
        0 15px;

    color:
        #aeb8be;

    border-bottom:
        1px solid #222b31;

    font-size:
        8px;
}


.ks-mini-data-table .row:last-child {
    border-bottom:
        0;
}


.ks-mini-data-table .row strong {
    color:
        #e5e9eb;

    font-size:
        8px;
}


/* ==========================================================
   BEAT PRICING SOFTWARE PAGE
========================================================== */

.ks-back-link {
    display:
        inline-block;

    margin-bottom:
        27px;

    color:
        #8a969e;

    text-decoration:
        none;

    font-size:
        9px;
}


.ks-pricing-heading {
    display:
        flex;

    justify-content:
        space-between;

    align-items:
        flex-end;

    gap:
        20px;

    margin-bottom:
        20px;
}


.ks-secondary-action {
    min-height:
        36px;

    display:
        inline-flex;

    align-items:
        center;

    padding:
        0 13px;

    color:
        #d1d8dc;

    background:
        #151c21;

    border:
        1px solid #313c43;

    border-radius:
        5px;

    text-decoration:
        none;

    font-size:
        9px;
}


.ks-software-message {
    margin-bottom:
        14px;

    padding:
        11px 13px;

    color:
        #d9b75d;

    background:
        #1b170e;

    border:
        1px solid #4c3d1d;

    border-radius:
        5px;

    font-size:
        9px;
}


.ks-pricing-table-card {
    overflow:
        hidden;

    background:
        #11171b;

    border:
        1px solid #29343b;

    border-radius:
        7px;
}


.ks-pricing-table-head,
.ks-pricing-table-row {
    display:
        grid;

    grid-template-columns:
        1.5fr
        .9fr
        .7fr
        .5fr;

    gap:
        18px;

    align-items:
        center;
}


.ks-pricing-table-head {
    min-height:
        38px;

    padding:
        0 17px;

    color:
        #77848d;

    background:
        #0e1418;

    border-bottom:
        1px solid #29343b;

    font-size:
        7px;

    letter-spacing:
        .7px;
}


.ks-pricing-table-row {
    min-height:
        83px;

    padding:
        14px 17px;

    border-bottom:
        1px solid #262f35;
}


.ks-pricing-table-row:last-child {
    border-bottom:
        0;
}


.ks-pricing-table-row > div:first-child {
    display:
        flex;

    flex-direction:
        column;

    gap:
        4px;
}


.ks-pricing-table-row strong {
    color:
        #ecf0f2;

    font-size:
        11px;
}


.ks-pricing-table-row small {
    max-width:
        330px;

    color:
        #68757e;

    font-size:
        8px;

    line-height:
        1.4;
}


.ks-file-type {
    color:
        #aab4ba;

    font-size:
        9px;
}


.ks-pricing-input {
    height:
        37px;

    display:
        flex;

    align-items:
        center;

    background:
        #0b1013;

    border:
        1px solid #303b42;

    border-radius:
        5px;
}


.ks-pricing-input span {
    padding-left:
        10px;

    color:
        #75818a;

    font-size:
        10px;
}


.ks-pricing-input input {
    width:
        100%;

    padding:
        0 9px;

    color:
        white;

    background:
        transparent;

    border:
        0;

    outline:
        0;

    font-size:
        10px;
}


.ks-toggle-switch {
    position:
        relative;

    width:
        38px;

    height:
        21px;
}


.ks-toggle-switch input {
    position:
        absolute;

    opacity:
        0;
}


.ks-toggle-switch span {
    position:
        absolute;

    inset:
        0;

    background:
        #37434b;

    border-radius:
        999px;

    cursor:
        pointer;

    transition:
        .15s ease;
}


.ks-toggle-switch span::after {
    content:
        "";

    position:
        absolute;

    width:
        15px;

    height:
        15px;

    left:
        3px;

    top:
        3px;

    background:
        white;

    border-radius:
        50%;

    transition:
        .15s ease;
}


.ks-toggle-switch input:checked + span {
    background:
        #d3a23f;
}


.ks-toggle-switch input:checked + span::after {
    transform:
        translateX(
            17px
        );
}


.ks-pricing-save-bar {
    margin-top:
        14px;

    padding:
        14px 16px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    background:
        #11171b;

    border:
        1px solid #29343b;

    border-radius:
        7px;
}


.ks-pricing-save-bar > div {
    display:
        flex;

    flex-direction:
        column;

    gap:
        3px;
}


.ks-pricing-save-bar strong {
    font-size:
        10px;
}


.ks-pricing-save-bar span {
    color:
        #6d7981;

    font-size:
        8px;
}


.ks-pricing-save-bar button {
    height:
        38px;

    padding:
        0 16px;

    color:
        #171208;

    background:
        #dfa940;

    border:
        0;

    border-radius:
        5px;

    font-size:
        9px;

    font-weight:
        750;

    cursor:
        pointer;
}


/* ==========================================================
   PUBLIC BEAT LICENSING PAGE
========================================================== */

.ks-beat-public-body {
    margin:
        0;

    min-height:
        100vh;

    background:
        #070808;

    color:
        white;
}


.ks-public-beat-page {
    width:
        min(
            1120px,
            calc(
                100% - 36px
            )
        );

    margin:
        auto;

    padding:
        65px 0 90px;
}


.ks-public-beat-top {
    display:
        grid;

    grid-template-columns:
        minmax(
            280px,
            480px
        )
        1fr;

    gap:
        65px;

    align-items:
        center;
}


.ks-public-beat-cover {
    aspect-ratio:
        1;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    background:
        linear-gradient(
            135deg,
            #2f2615,
            #090909
        );

    background-size:
        cover;

    background-position:
        center;

    border:
        1px solid #332d22;

    border-radius:
        7px;
}


.ks-public-beat-cover button {
    width:
        72px;

    height:
        72px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    color:
        white;

    background:
        rgba(
            0,
            0,
            0,
            .76
        );

    border:
        2px solid #d9a43f;

    border-radius:
        50%;

    font-size:
        23px;

    cursor:
        pointer;
}


.ks-public-beat-info h1 {
    margin:
        8px 0 14px;

    font-size:
        clamp(
            45px,
            6vw,
            75px
        );

    line-height:
        .95;
}


.ks-public-meta {
    display:
        flex;

    gap:
        8px;

    margin-bottom:
        20px;
}


.ks-public-meta span {
    padding:
        6px 9px;

    color:
        #c9a45c;

    border:
        1px solid #4a3b20;

    border-radius:
        4px;

    font-size:
        9px;
}


.ks-public-beat-info p {
    max-width:
        530px;

    color:
        #858585;

    font-size:
        13px;

    line-height:
        1.65;
}


.ks-public-license-section {
    margin-top:
        80px;

    padding-top:
        55px;

    border-top:
        1px solid #252525;
}


.ks-license-heading {
    margin-bottom:
        27px;

    text-align:
        center;
}


.ks-license-heading > span {
    color:
        #c99b3c;

    font-size:
        8px;

    font-weight:
        800;

    letter-spacing:
        1.5px;
}


.ks-license-heading h2 {
    margin:
        6px 0;

    font-size:
        33px;
}


.ks-license-heading p {
    margin:
        0;

    color:
        #777;

    font-size:
        11px;
}


.ks-public-license-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(
                190px,
                1fr
            )
        );

    gap:
        11px;
}


.ks-public-license-card {
    padding:
        20px;

    display:
        flex;

    flex-direction:
        column;

    min-height:
        280px;

    background:
        #0e1010;

    border:
        1px solid #292b2b;

    border-radius:
        7px;
}


.ks-public-license-card > div:first-child {
    display:
        flex;

    flex-direction:
        column;

    gap:
        8px;
}


.ks-license-type {
    color:
        #a9a9a9;

    font-size:
        9px;
}


.ks-public-license-card > div:first-child strong {
    color:
        #e5b14a;

    font-size:
        26px;
}


.ks-public-license-card p {
    min-height:
        58px;

    color:
        #777;

    font-size:
        9px;

    line-height:
        1.5;
}


.ks-license-files {
    margin-top:
        auto;

    padding:
        12px 0;

    display:
        flex;

    flex-direction:
        column;

    gap:
        4px;

    border-top:
        1px solid #272727;
}


.ks-license-files span {
    color:
        #555;

    font-size:
        7px;
}


.ks-license-files strong {
    color:
        #c7c7c7;

    font-size:
        9px;
}


.ks-license-select {
    height:
        36px;

    margin-top:
        10px;

    color:
        #686868;

    background:
        #171717;

    border:
        1px solid #2e2e2e;

    border-radius:
        4px;

    font-size:
        8px;
}


.ks-no-licenses {
    grid-column:
        1 / -1;

    padding:
        40px;

    color:
        #777;

    text-align:
        center;
}


/* ==========================================================
   RESPONSIVE SOFTWARE UI
========================================================== */

@media (
    max-width:
    1100px
) {

    .ks-software-stats {
        grid-template-columns:
            1fr 1fr;
    }


    .ks-software-quick-grid {
        grid-template-columns:
            1fr 1fr;
    }


    .ks-main-dashboard-grid,
    .ks-request-dashboard-grid {
        grid-template-columns:
            1fr;
    }

}


@media (
    max-width:
    820px
) {

    .ks-app-sidebar {
        position:
            static;

        width:
            100%;

        height:
            auto;
    }


    .ks-app-brand {
        height:
            57px;
    }


    .ks-app-nav {
        padding:
            7px;

        flex-direction:
            row;

        overflow-x:
            auto;
    }


    .ks-app-nav a {
        flex-shrink:
            0;

        height:
            36px;
    }


    .ks-app-nav-separator,
    .ks-app-sidebar-label,
    .ks-app-sidebar-bottom {
        display:
            none;
    }


    .ks-app-shell {
        margin-left:
            0;
    }


    .ks-app-main {
        width:
            calc(
                100% - 24px
            );

        padding-top:
            22px;
    }


    .ks-app-topbar {
        padding:
            0 12px;
    }


    .ks-user-name {
        display:
            none;
    }


    .ks-public-beat-top {
        grid-template-columns:
            1fr;

        gap:
            35px;
    }

}


@media (
    max-width:
    580px
) {

    .ks-software-stats,
    .ks-software-quick-grid {
        grid-template-columns:
            1fr;
    }


    .ks-app-search {
        width:
            58vw;
    }


    .ks-view-store {
        display:
            none;
    }


    .ks-real-table-head {
        display:
            none;
    }


    .ks-real-table-row {
        grid-template-columns:
            1fr auto;
    }


    .ks-real-table-row > span:nth-child(2),
    .ks-real-table-row > span:nth-child(3),
    .ks-real-table-row > strong:nth-child(4) {
        display:
            none;
    }


    .ks-pricing-table-head {
        display:
            none;
    }


    .ks-pricing-table-row {
        grid-template-columns:
            1fr;

        gap:
            10px;
    }


    .ks-pricing-save-bar,
    .ks-pricing-heading {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

}

