* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

body {
    font-family: Inter, sans-serif;
    background: #f7f8fa;
    color: #111;
    padding: 2rem
}

h1 {
    font-size: 2.4rem;
    font-weight: 600;
    margin-bottom: 1.4rem
}

.panel {
    margin: auto;
    background: #fff;
    padding: 1.8rem 2rem;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .06)
}

.toggle {
    display: flex;
    align-items: center;
    gap: .55rem;
    font-size: .95rem;
    margin-bottom: 1rem
}

.toggle input {
    transform: scale(1.15)
}

table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 12px;
    overflow: visible;
    box-shadow: 0 0 0 1px #e5e7eb;
    font-size: .9rem
}

thead {
    background: #fafafa
}

th,
td {
    min-width: 100px;
    max-width: 200px;
    padding: 1rem;
    border-bottom: 1px solid #f0f2f6;
    text-align: left;
    vertical-align: top
}

th .filter-wrap {
    display: flex;
    flex-direction: column;
    gap: .4rem
}

th label {
    font-weight: 600;
    font-size: .8rem
}

th select {
    width: 100%
}

tr.expired {
    background: #fdecea
}

.badge {
    display: inline-block;
    background: #e0e7ff;
    color: #3945a3;
    padding: .25rem .55rem;
    font-size: .75rem;
    border-radius: 8px;
    margin: .15rem .25rem .15rem 0
}

.choices__list--dropdown {
    z-index: 10000
}