.hc-master .radio-circle-button {
    clip-path: inset(100%);
    pointer-events: none;
    position: absolute;
}

.hc-master .radio-label {
    cursor: pointer;
    padding-left: 30px;
    position: relative;
    margin-bottom: 0;
}

.hc-master .radio-label::before,
.hc-master .radio-label::after {
    border: 2px solid var(--primary-color);
    border-radius: 50%;
    background-color: #ffffff;
    box-sizing: border-box;
    content: "";
    height: 24px;
    left: 0;
    position: absolute;
    top: -1px;
    width: 24px;
}

.hc-master .radio-label::after {
    opacity: 0;
    height: 14px;
    width: 14px;
    left: 5px;
}

.hc-master .radio-circle-button:focus + label::before {
    box-shadow: 0 0 0 0.2rem rgba(69, 150, 150, 0.5);
}

.hc-master .radio-circle-button:checked + .radio-label::after {
    background-color: var(--primary-color);
    border: 2px solid var(--primary-color);
    border-radius: 50%;
    box-sizing: border-box;
    content: "";
    display: block;
    height: 16px;
    left: 4px;
    position: absolute;
    top: 3px;
    width: 16px;
    opacity: 1;
}

.hc-master .data-list {
    font-size: 0.9rem;
}

.hc-master-floorroom input[type="checkbox"],
.room-fixture-setting-dialog input[type="checkbox"] {
    display: none;
}

.hc-master-floorroom input[type="checkbox"] + label,
.room-fixture-setting-dialog input[type="checkbox"] + label {
    display: none;
    display: inline-block;
    position: relative;
    padding-left: 25px;
    padding-right: 10px;
    cursor: pointer;
}

.hc-master-floorroom input[type="checkbox"] + label::before,
.room-fixture-setting-dialog input[type="checkbox"] + label::before {
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    left: 0;
    top: 50%;
    border: 1px solid hsl(180, 58%, 33%);
    border-radius: 50%;
    background-color: #ffffff;
}

.hc-master-floorroom input[type="checkbox"]:checked + label::before,
.room-fixture-setting-dialog input[type="checkbox"]:checked + label::before {
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    left: 0;
    top: 50%;
    border: 1px solid hsl(180, 58%, 33%);
    border-radius: 50%;
    background-color: hsl(180, 58%, 33%);
}

.hc-master-floorroom input[type="checkbox"]:checked + label::after,
.room-fixture-setting-dialog input[type="checkbox"]:checked + label::after {
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 11px;
    height: 8px;
    margin-top: -6px;
    top: 50%;
    left: 5px;
    transform: rotate(-45deg);
    border-bottom: 3px solid;
    border-left: 3px solid;
    border-color: white;
}

.room-fixture-setting-dialog input[type="checkbox"] + label::before,
.room-fixture-setting-dialog input[type="checkbox"]:checked + label::before,
.room-fixture-setting-dialog input[type="checkbox"]:checked + label::after {
    top: 3px;
}

#hc-master-floorroom-floorroom .room-card {
    display: inline-block;
    border: 1px solid #248484;
    border-radius: 5px;
    padding: 0.3rem;
}

#hc-master-floorroom-floorroom .room-card span {
    word-break: break-all;
}

#hc-master-floorroom-floorcsvupload .csv-upload-container .upload-area,
#hc-master-floorroom-roomcsvupload .csv-upload-container .upload-area,
#hc-master-lodger-upload .csv-upload-container .upload-area {
    margin: auto;
    width: 100%;
    height: 200px;
    position: relative;
    border: 1px dotted rgba(0, 0, 0, 0.4);
    text-align: center;
}

#hc-master-floorroom-floorcsvupload .csv-upload-container .upload-area i,
#hc-master-floorroom-roomcsvupload .csv-upload-container .upload-area i,
#hc-master-lodger-upload .csv-upload-container .upload-area i {
    position: absolute;
    font-size: 120px;
    opacity: 0.1;
    width: 100%;
    left: 0;
    top: 30px;
}

#hc-master-floorroom-floorcsvupload .csv-upload-container .upload-area p,
#hc-master-floorroom-roomcsvupload .csv-upload-container .upload-area p,
#hc-master-lodger-upload .csv-upload-container .upload-area p {
    width: 100%;
    position: absolute;
    top: 96px;
    opacity: 0.8;
}

#hc-master-floorroom-floorcsvupload .csv-upload-container .upload-area input[type="file"],
#hc-master-floorroom-roomcsvupload .csv-upload-container .upload-area input[type="file"],
#hc-master-lodger-upload .csv-upload-container .upload-area input[type="file"] {
    top: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

#hc-master-floorroom-floorcsvupload .csv-upload-container .upload-error-table .input-value,
#hc-master-floorroom-roomcsvupload .csv-upload-container .upload-error-table .input-value,
#hc-master-lodger-upload .csv-upload-container .upload-error-table .input-value {
    max-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    white-space: nowrap;
}

#hc-master-lodger-lodgers .box-upper-line,
#hc-master-fixture-roomfixture .box-upper-line {
    border: 2px solid #f3f3f3;
    border-top: 5px solid var(--primary);
    background-color: #f3f3f3;
    width: 100%;
}

#hc-master-lodger-lodgers .search-item-title,
#hc-master-fixture-roomfixture .search-item-title {
    font-size: 0.9rem;
}

#hc-master-lodger-lodgers button.btn-floor,
#hc-master-fixture-roomfixture button.btn-floor,
#hc-master-fixture-roomfixture button.btn-room {
    border: 1px solid hsl(180, 58%, 33%);
    transition: none;
    background-color: #fff;
}

#hc-master-lodger-lodgers button.btn-floor:hover,
#hc-master-fixture-roomfixture button.btn-floor:hover,
#hc-master-fixture-roomfixture button.btn-room:hover {
    color: #248484;
    border-color: #248484;
    box-shadow: 0 0 0 0.2rem rgba(36, 132, 132, 0.5);
}

#hc-master-lodger-lodgers button.btn-floor.active,
#hc-master-fixture-roomfixture button.btn-floor.active,
#hc-master-fixture-roomfixture button.btn-room.active {
    background-color: hsl(180, 58%, 33%);
    color: #fff;
}

#hc-master-lodger-lodgers .lodger-area .error-message > div {
    margin-bottom: 0;
}

#hc-master-fixture-roomfixture .data-list tbody tr {
    cursor: pointer;
}

.room-fixture-setting-dialog details {
    margin-right: -15px;
    margin-left: -15px;
}

.room-fixture-setting-dialog details summary {
    list-style: none;
    cursor: pointer;
    color: #495057;
}

.room-fixture-setting-dialog details summary::-webkit-details-marker {
    display: none;
}

.room-fixture-setting-dialog details summary:focus-visible {
    color: #495057;
    border-color: #56d1d1;
    border-radius: 0.25rem;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgb(36 132 132 / 25%);
}

.room-fixture-setting-dialog details summary::after {
    font-family: "Font Awesome 5 Free";
    content: "\f055";
    margin-right: 0.4rem;
    font-weight: bold;
}

.room-fixture-setting-dialog details[open] summary::after {
    content: "\f056";
}
