.hc-master-floorroom .btn-group-toggle label {
    cursor: pointer;
    position: relative;
}

.hc-master-floorroom .btn-group-toggle input[type="radio"] ~ div {
    bottom: 0px;
    left: 0px;
    position: absolute;
    right: 0px;
    top: 0px;
}

.hc-master-floorroom .btn-group-toggle label.btn-outline-primary input[type="radio"]:focus ~ div {
    box-shadow: 0 0 0 0.2rem rgba(69, 150, 150, 0.5);
}

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

.hc-master-floorroom .radio-label::before,
.hc-master-floorroom .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-floorroom .radio-label::after {
    opacity: 0;
    height: 14px;
    width: 14px;
    left: 5px;
}

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

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

.hc-master-floorroom .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: 11px;
    width: 16px;
    opacity: 1;
}

.hc-master-floorroom .radio-circle-button:disabled + label {
    opacity: 0.5;
    cursor: default;
}

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

.hc-master-floorroom .box-upper-line {
    border: 2px solid var(--secondary);
    border-top: 4px solid var(--primary);
    background-color :var(--secondary);
    padding-top: 3px;
    width: 100%;
}

.hc-master-floorroom .box-upper-line,
.hc-master-floorroom .box-upper-line input,
.hc-master-floorroom .box-upper-line select {
    font-size: 0.9rem;
}

.hc-master-floorroom .aa-cmp-tabcontrol {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 80px);
    height: calc(var(--vh, 1vh) * 100 - 80px);
}

.hc-master-floorroom .aa-cmp-tabcontrol .aa-cmp-tabpanel {
    flex-grow: 1;
    overflow: hidden;
}

.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 .radio-label {
    position: relative;
    height: 30px;
    padding-left: 30px;
    cursor: pointer;
    top: 12px;
}

.shc-master-floorroom .radio-label::before,
.hc-master-floorroom .radio-label::after {
    content: "";
    display: block;
    border-radius: 50%;
    position: absolute;
    transform: translateY(-50%);
    top: 30%;
}

.hc-master-floorroom .radio-label::before {
    background-color: #ffffff;
    border: 2px solid var(--primary);
    height: 24px;
    width: 24px;
    left: 0px;
}

.shc-master-floorroom .radio-label::after {
    background-color: var(--primary);
    opacity: 0;
    height: 16px;
    width: 16px;
    left: 4px;
}

.hc-master-floorroom .radio-circle-button:checked+.radio-label::after {
    opacity: 1;
}

.hc-master-floorroom .radio-circle-button:disabled+.radio-label,
.hc-master-floorroom .radio-circle-button:disabled+.radio-label::before,
.hc-master-floorroom .radio-circle-button:checked:disabled+.radio-label::after {
    cursor: default;
    opacity: 0.7;
}

.hc-master-floorroom .pdf-viewer {
    display: block;
    background-color: #333333;
}

.hc-master-floorroom .pdf-viewer .btn-file-content-close {
    color: white;
    font-size: 2.8rem;
    padding: 0.2rem 0.5rem;
    cursor: pointer;
}

.hc-master-floorroom .pdf-viewer .file-content {
    position: absolute;
    top: 48px;
    left: 0;
    width: 100%;
    height: calc(100vh - 48px);
    height: calc(var(--vh, 1vh)* 100 - 48px);
    background-color: #333333;
}

#hc-master-floorroom-roomregister .btn-image-panel,
#hc-master-floorroom-roomregister .label-image-panel,
#hc-master-floorroom-roomregister div.image-panel,
#hc-master-floorroom-roomedit .btn-image-panel,
#hc-master-floorroom-roomedit .label-image-panel,
#hc-master-floorroom-roomedit div.image-panel {
    height: 140px;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
    width: 140px;
}

#hc-master-floorroom-roomregister .small-image-panel,
#hc-master-floorroom-roomregister div.small-image-panel,
#hc-master-floorroom-roomedit .small-image-panel,
#hc-master-floorroom-roomedit div.small-image-panel {
    height: 100px;
    width: 100px;
}

#hc-master-floorroom-roomregister .label-image-panel,
#hc-master-floorroom-roomedit .label-image-panel {
    border: solid 1px var(--primary-color);
    border-radius: 0.25rem;
    color: var(--primary-color);
}

#hc-master-floorroom-roomregister .image-panel,
#hc-master-floorroom-roomedit .image-panel {
    background-color: var(--dark);
    border-radius: 0.25rem;
    cursor: pointer;
    position: relative;
    text-align: center;
}

#hc-master-floorroom-roomregister .image-panel img,
#hc-master-floorroom-roomedit .image-panel img {
    border-radius: 0.25rem;
    height: 140px;
    object-fit: scale-down;
    width: 100%;
}

#hc-master-floorroom-roomregister .small-image-panel img,
#hc-master-floorroom-roomedit .small-image-panel img {
    height: 100px;
}

#hc-master-floorroom-roomregister .image-panel .btn-trash,
#hc-master-floorroom-roomedit .image-panel .btn-trash {
    bottom: 3px;
    color: #fff;
    position: absolute;
    right: 3px;
}

#hc-master-floorroom-roomregister .image-panel .btn-download,
#hc-master-floorroom-roomedit .image-panel .btn-download {
    bottom: 3px;
    color: #fff;
    position: absolute;
    left: 3px;
}

#hc-master-floorroom-floorroom .aa-cmp-tabcontrol {
    height: auto;
}

#hc-master-floorroom-floorroom .aa-cmp-tabcontrol li.nav-item {
    background-color: #ffffff;
}

#hc-master-floorroom-floorroom .aa-cmp-tabcontrol .aa-cmp-tabpanel {
    background-color: #ffffff;
    padding-top: 0rem;
    padding-left: 0rem;
}

#hc-master-floorroom-floorroom .target-panel {
    border: 1px solid #dee2e6;
    border-radius: 5px;
}


#hc-master-floorroom-floorroom .table-wrapper {
    width: 100%;
    overflow-x: auto;
}

#hc-master-floorroom-floorroom table.data-list {
    width: 100%;
    table-layout: auto;
}

#hc-master-floorroom-floorroom table.data-list tbody tr td.memo {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 400px;
  word-break: normal;
  overflow-wrap: normal;
}

#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";
}
