body {
    margin: 0;
    background: #f4efdf;
    font-family: "Century Gothic", sans-serif;
}

.main-header {
    position: fixed;
    top: 0;
    width: 100%;
    background: #f4efdf;
    border-bottom: 3px solid black;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1000;
}

.logo { font-size: 30px; font-weight: bold; }

.search-container {
    display: flex;
    align-items: center;
}

#searchInput {
    padding: 8px 15px;
    width: 250px;
    border-radius: 8px;
    border: 2px solid #ccc;
    font-size: 16px;
}

#clearSearch {
    margin-left: 10px;
    padding: 8px 15px;
    border: none;
    background: black;
    color: white;
    border-radius: 8px;
    cursor: pointer;
}

.content {
    margin-top: 120px;
    padding: 10px 20px;
}

.category {
    border: 3px solid black;
    margin-bottom: 20px;
}

.category-header {
    background: #f4efdf;
    padding: 10px;
    font-size: 20px;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.arrow {
    margin-right: 10px;
    transition: transform 0.3s;
}

.arrow.rotate { transform: rotate(90deg); }

.table-container {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    border-top: 3px solid black;
}

table { width: 100%; border-collapse: collapse; }

th, td {
    border: 2px solid gray;
    padding: 10px;
    text-align: left;
}

th { background: #eee; font-weight: bold; }

.sortable, .sortable-num {
    cursor: pointer;
}

mark {
    background: yellow;
    font-weight: bold;
}
