@import url('Common.css');

.wrap {
    width: 120%;
    min-width: 1500px;	
    margin: 0 1%;
    padding: 0.5rem;
    box-sizing: border-box;
    border: 1px solid rgb(51, 51, 51);	
    border-top-left-radius: 0.5rem;	
    border-top-right-radius: 0.5rem;	
    border-bottom-right-radius: 0.5rem;	
    border-bottom-left-radius: 0.5rem;	
    background-color: #FCFCFC;	
}
table {	
 border-collapse: collapse;	
 border: 1px solid rgb(85, 85, 85);	
 margin: 10px 0.5%;	
 table-layout: fixed;
}
thead.scrollHead, tbody.scrollBody {
 display: block;	
 width: 100%;	
}
tbody.scrollBody {
 height: 65vh;	
 background-color: #FFF;
}
th {
 border: 1px solid rgb(85, 85, 85);	
 text-align: center;	
 background-color: rgb(255, 238, 252);
 color: rgb(51, 51, 51);	
 height: 2rem;		
 font-weight: normal;
 padding: 0, 0.4rem;
}
th:nth-child(1) {
 width: 1.5rem;	
}
th:nth-child(2) {
 width: 10rem;	
}
th:nth-child(3) {
 width: 4rem;	
}
th:nth-child(4) {
 width: 7rem;	
}
th:nth-child(5) {
 width: 4rem;	
}
th:nth-child(6) {
 width: 4rem;	
}
th:nth-child(7) {
 width: 7rem;	
}
th:nth-child(8) {
 width: 13rem;	
}
th:nth-child(9) {
 width: 10rem;	
}
th:nth-child(10) {
 width: 5rem;	
}
th:nth-child(11) {
 width: 4rem;	
}
th:nth-child(12) {
 width: 3rem;	
}
th:nth-child(13) {
 width: 3rem;	
}
th:nth-child(14) {
 width: 8rem;	
}
th:nth-child(15) {
 width: 4rem;	
}
td {
 border: 1px solid rgb(100, 100, 100);	
 height: 2rem;	
 padding: 0px 0.4rem;
 word-wrap: break-word;
}

.btnbox {
 height: 1.4rem;	
 padding: 0px;	
 display: table-cell;	
 line-height: 1.4rem;	
}
.input-type1 {
 width: 4rem;	
}
.input-type2 {
 width: 2rem;	
}
input[type="date"] {
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    color: #333;
    background-color: #fff;
}

input[type="date"]:focus {
    outline: none;
    border-color: #007bff;
    box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
}

/* .btn1 {
 width: 4rem;	
}
.btn2 {
 width: 12rem;	
}
.btn3 {
 width: 16rem;	
} */
.right {
    text-align: right;
}
/* PC用スタイル */
#reservation-table {
    width: 100%;
    border-collapse: collapse;
}

#reservation-table th, #reservation-table td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
}

#reservation-table th {
    background-color: #f2f2f2;
}

#reservation-table .right {
    text-align: right;
}
.cancelled {
    background-color: #DDD; /* 灰色の背景色 */
    color: #888; /* テキストの色を薄くする */
}
.pagination {
    margin-bottom: 20px;
}
.pinkdotted {
    background: radial-gradient(circle, hsl(0deg 100% 90%) 30%, hsla(0deg 100% 100% / 0) 30%) 0 0 / 10px 10px;
}
.red {
    background-color: red;

}
.SP {
    display: none;
}


@media screen and (max-width: 767px) {
    table {
        margin: 0;
        display: none;
        table-layout: none;
    }
    .SP {
        display: block;
    }
    * {
        box-sizing: border-box;
    }
    body {
        width: 100%;
        padding: 0;
        margin: 0;
    }
    
    .wrap {
        width: 98%;
        min-width: 98%;
        margin: 30px 1% 90px;
        overflow-x: hidden;

    }
    .btnbox {
        width: 100%;
    }

    #sort-select {
        font-size: 1rem;
    }
    .reservation-cards {
        display: flex;
        flex-direction: column;
        gap: 1rem 0;
        width: 100%;
    }

    .reservation-card {
        width: 100%;
        box-sizing: border-box;
        border: 1px solid #ddd;
        border-radius: 8px;
        overflow: hidden;
    }

    .card-header {
        width: 100%;
        background-color: #f2f2f2;
        padding: 10px;
        /* display: flex;
        justify-content: space-between;
        align-items: center; */
    }
    .card-body p {
        margin: 5px 0;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    .card-body p a {
        font-size: 1rem;
        line-height: 1.4rem;
    }

    .card-header h3 {
        margin: 0;
    }

    .status {
        padding: 5px 10px;
        border-radius: 4px;
        font-size: 0.8em;
    }

    .status.confirmed { background-color: #4CAF50; color: white; }
    .status.pending { background-color: #FFC107; color: black; }
    .status.cancelled { background-color: #F44336; color: white; }

    .card-body {
        padding: 10px;
    }

    #custom-sort-select {
        position: relative;
        display: inline-block;
    }
    
    #current-sort {
        cursor: pointer;
        padding: 5px 10px;
        border: 1px solid #ccc;
        border-radius: 4px;
    }
    
    #custom-sort-select ul {
        display: none;
        position: absolute;
        list-style-type: none;
        padding: 0;
        margin: 0;
        background-color: white;
        border: 1px solid #ccc;
        border-radius: 4px;
        z-index: 1000;
    }
    
    #custom-sort-select li {
        padding: 5px 10px;
        cursor: pointer;
    }
    
    #custom-sort-select li:hover {
        background-color: #f0f0f0;
    }
}

