:root {
    --ink: #16231d;
    --brand: #176b4d;
    --paper: #f5f6f3;
    --line: #e0e4df
}

* {
    box-sizing: border-box
}

body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: Inter,system-ui,"Segoe UI",sans-serif
}

.sidebar {
    position: fixed;
    width: 245px;
    inset: 0 auto 0 0;
    background: #13281f;
    color: white;
    padding: 1.5rem;
    display: flex;
    flex-direction: column
}

.admin-brand {
    display: flex;
    align-items: center;
    gap: .75rem;
    color: inherit;
    text-decoration: none;
    font-weight: 800
}

    .admin-brand span {
        display: grid;
        place-items: center;
        width: 2.5rem;
        height: 2.5rem;
        border-radius: .65rem;
        background: #e6a638;
        color: #13281f;
        font: 1.6rem Georgia
    }

    .admin-brand small {
        display: block;
        font-size: .7rem;
        color: #9db0a7;
        font-weight: 500
    }

.sidebar nav {
    display: grid;
    gap: .4rem;
    margin-top: 3rem
}

    .sidebar nav a, .sidebar button {
        color: #c9d4cf;
        text-decoration: none;
        padding: .7rem .85rem;
        border-radius: .5rem;
        background: none;
        border: 0;
        text-align: left
    }

        .sidebar nav a:hover {
            background: #ffffff12;
            color: white
        }

.sidebar form {
    margin-top: auto
}

.admin-main {
    margin-left: 245px
}

    .admin-main > header {
        height: 74px;
        padding: 0 2rem;
        background: white;
        border-bottom: 1px solid var(--line);
        display: flex;
        align-items: center;
        justify-content: space-between
    }

        .admin-main > header small {
            display: block;
            color: #7a857f;
            font-size: .75rem
        }

    .admin-main > main {
        padding: 2rem
    }

.page-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem
}

    .page-title h1 {
        font: 700 2rem Georgia;
        margin: 0
    }

.panel {
    background: white;
    border: 1px solid var(--line);
    border-radius: .85rem;
    padding: 1.25rem
}

.stats {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1rem;
    margin-bottom: 1.5rem
}

.stat {
    background: white;
    border: 1px solid var(--line);
    border-radius: .85rem;
    padding: 1.25rem
}

    .stat strong {
        display: block;
        font: 700 2.2rem Georgia
    }

    .stat small {
        color: #76817b
    }

.table {
    margin: 0
}

    .table th {
        font-size: .72rem;
        text-transform: uppercase;
        color: #7c8781;
        letter-spacing: .05em
    }

.badge-soft {
    background: #e8f1ec;
    color: var(--brand);
    padding: .35rem .6rem;
    border-radius: 2rem
}

.form-label {
    font-weight: 700;
    font-size: .85rem
}

.form-control, .form-select {
    padding: .65rem .75rem
}

.form-section {
    margin-bottom: 1.25rem
}

.login-body {
    min-height: 100vh;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg,#e8efe9,#f6f1e4)
}

.login-card {
    width: min(92vw,430px);
    background: white;
    padding: 2.5rem;
    border-radius: 1rem;
    box-shadow: 0 25px 70px #18312625
}

    .login-card h1 {
        font: 700 2.2rem Georgia;
        margin: 2rem 0 .5rem
    }

@media(max-width:800px) {
    .sidebar {
        position: static;
        width: auto
    }

        .sidebar nav {
            grid-template-columns: repeat(2,1fr);
            margin-top: 1rem
        }

    .admin-main {
        margin: 0
    }

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