body {
    font-family: "Open Sans", sans-serif;
}

.is_hidden {
    background-color: rgb(187, 186, 186) !important;
    color: rgb(131, 131, 131);
}

@media only screen and (max-width: 767px) {
    #no-more-tables > table {
        width: 100%;
        overflow-x: auto;
        display: block;
    }

    #no-more-tables > table > tbody > tr {
        border: 1px solid #ccc;
    }

    #no-more-tables > table > tbody > tr > td {
        border: none;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-left: 10%;
        white-space: normal;
        text-align: left;
    }

    #no-more-tables > table > tbody > tr > td:before {
        position: absolute;
        top: 0;
        left: 0;
        width: 33.33333333%;
        padding-right: 10px;
        white-space: nowrap;
        text-align: left;
        font-weight: bold;
        padding: 8px;
    }

    div#no-more-tables.container tr:active {
        background-color: #e5e5e5;
    }

    #no-more-tables td:before {
        content: attr(data-title);
    }

    /* Add responsive padding for the mobile view */
    .container {
        padding: 10px;
    }
}

.table > tbody > tr > td.tr_1 {
    background-color: #9bb6ff;
}
.table > tbody > tr > td.tr_2 {
    background-color: #ffe79b;
}
.table > tbody > tr > td.tr_3 {
    background-color: #9bff9c;
}
.table > tbody > tr > td.tr_4 {
    background-color: #ff9b9b;
}
.table > tbody > tr > td.tr_5 {
    background-color: #afffeb;
}

/* Print Styles */
@media print {
    .print-button,
    .collapse {
        display: none;
    }

    table {
        width: 100%;
    }

    tr,
    td {
        border: 1px solid #ccc !important;
    }

    body {
        font-size: 12px;
        color: #000;
    }
}

/* ------------------------------------------------------------------
   App-style compendium additions
------------------------------------------------------------------ */

.komp-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 10px 0 15px 0;
}

.komp-title {
    font-size: 20px;
    margin: 0;
}

.komp-subtitle {
    font-size: 12px;
    color: #555;
}

.komp-tools .btn {
    margin-left: 5px;
}

.komp-table {
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
}

.belt-row {
    cursor: pointer;
}

.belt-row:hover {
    background-color: #f5f5f5;
}

.belt-title {
    font-weight: 600;
}

.belt-color img {
    border-radius: 4px;
}

.belt-body {
    padding: 5px 5px 10px 5px;
    background: #fafafa;
}

/* Category cards */

.komp-category-wrapper {
    border-radius: 4px;
    margin-bottom: 8px;
    overflow: hidden;
    border: 1px solid #ddd;
    background: #fff;
}

.komp-category-header {
    padding: 6px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 600;
    cursor: pointer;
}

.komp-category-title {
    font-size: 14px;
}

.komp-category-chevron i {
    transition: transform 0.2s ease;
}

.komp-category-body {
    padding: 6px 8px 8px 8px;
}

/* Subgroup label (internal grouping) */

.komp-subgroup-label {
    margin: 4px 0 4px 0;
    padding: 4px 6px;
    border-radius: 3px;
}

/* Technique rows */

.komp-tech-row {
    border-radius: 4px;
    border: 1px solid #ddd;
    margin-bottom: 5px;
    background: #fff;
}

.komp-tech-header {
    display: flex;
    align-items: center;
    padding: 6px 8px;
    cursor: pointer;
}

.komp-tech-header:hover {
    background-color: #f5f5f5;
}

.komp-tech-number {
    width: 30px;
    font-weight: 600;
    text-align: center;
}

.komp-tech-title {
    flex: 1;
    padding: 0 8px;
    font-size: 14px;
}

.komp-tech-chevron i {
    transition: transform 0.2s ease;
}

/* rotate chevron when collapse is open */
.rotated {
    transform: rotate(180deg);
}

.komp-tech-body {
    border-top: 1px solid #eee;
}

.komp-tech-inner {
    padding: 8px;
}

.komp-tech-description {
    margin-bottom: 8px;
    font-size: 13px;
}

.komp-tech-video {
    margin-bottom: 8px;
}

.komp-admin-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 4px;
}

.komp-admin-path {
    font-size: 11px;
}

/* Empty placeholders */

.komp-empty,
.komp-empty-tech {
    padding: 6px 8px;
    font-size: 12px;
    color: #666;
}

/* Print tweaks for new layout */
@media print {
    .komp-header,
    .komp-tools,
    .print-button,
    .modal,
    .komp-admin-buttons,
    .komp-admin-path {
        display: none !important;
    }

    .komp-tech-row {
        border: 1px solid #000 !important;
    }
}

