generated from pricelees/issue-pr-template
371 lines
7.1 KiB
CSS
371 lines
7.1 KiB
CSS
/* General Container */
|
|
.my-reservation-container-v2 {
|
|
max-width: 800px;
|
|
margin: 40px auto;
|
|
padding: 20px;
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
background-color: #f4f6f8;
|
|
border-radius: 16px;
|
|
}
|
|
|
|
.my-reservation-container-v2 h1 {
|
|
font-size: 28px;
|
|
font-weight: 700;
|
|
color: #333d4b;
|
|
margin-bottom: 30px;
|
|
}
|
|
|
|
/* Error Message */
|
|
.error-message-v2 {
|
|
color: #d9534f;
|
|
background-color: #f2dede;
|
|
border: 1px solid #ebccd1;
|
|
padding: 15px;
|
|
border-radius: 8px;
|
|
text-align: center;
|
|
}
|
|
|
|
/* Reservation List */
|
|
.reservation-list-v2 {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 15px;
|
|
}
|
|
|
|
/* Reservation Summary Card */
|
|
.reservation-summary-card-v2 {
|
|
background-color: #ffffff;
|
|
border-radius: 12px;
|
|
padding: 20px;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
|
|
transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
|
|
}
|
|
|
|
.reservation-summary-card-v2:hover {
|
|
transform: translateY(-3px);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.summary-subdetails-v2 {
|
|
display: flex;
|
|
flex-direction: column;
|
|
margin: 0px;
|
|
gap: 0px;
|
|
}
|
|
|
|
.summary-store-name-v2 {
|
|
font-size: 16px;
|
|
font-weight: bold;
|
|
color: #505a67;
|
|
margin: 0 0 5px 0;
|
|
}
|
|
|
|
.summary-details-v2 {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
}
|
|
|
|
.summary-theme-name-v2 {
|
|
font-size: 20px;
|
|
font-weight: 700;
|
|
color: #333d4b;
|
|
margin: 0;
|
|
}
|
|
|
|
.summary-datetime-v2 {
|
|
font-size: 16px;
|
|
color: #505a67;
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
/* --- Status Badge --- */
|
|
.card-status-badge {
|
|
position: absolute;
|
|
top: 30px;
|
|
right: 10px;
|
|
padding: 3px 10px;
|
|
border-radius: 12px;
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.5px;
|
|
}
|
|
|
|
/* --- Card Status Styles --- */
|
|
.reservation-summary-card-v2 {
|
|
position: relative; /* For badge positioning */
|
|
}
|
|
|
|
/* Confirmed (Upcoming) */
|
|
.reservation-summary-card-v2.status-confirmed {
|
|
border-left: 5px solid #28a745; /* Green accent */
|
|
}
|
|
.status-confirmed .card-status-badge {
|
|
background-color: #28a745;
|
|
color: white;
|
|
}
|
|
|
|
/* Completed (Past) */
|
|
.reservation-summary-card-v2.status-completed {
|
|
background-color: #f8f9fa;
|
|
border-left: 5px solid #6c757d; /* Gray accent */
|
|
}
|
|
.reservation-summary-card-v2.status-completed .summary-theme-name-v2,
|
|
.reservation-summary-card-v2.status-completed .summary-datetime-v2 {
|
|
color: #6c757d;
|
|
}
|
|
.reservation-summary-card-v2.status-completed .detail-button-v2 {
|
|
background-color: #6c757d;
|
|
}
|
|
.status-completed .card-status-badge {
|
|
background-color: #6c757d;
|
|
color: white;
|
|
}
|
|
|
|
/* Canceled */
|
|
.reservation-summary-card-v2.status-canceled {
|
|
background-color: #f8f9fa;
|
|
border-left: 5px solid #dc3545; /* Red accent */
|
|
opacity: 0.7;
|
|
}
|
|
.reservation-summary-card-v2.status-canceled .summary-theme-name-v2,
|
|
.reservation-summary-card-v2.status-canceled .summary-datetime-v2 {
|
|
color: #6c757d;
|
|
text-decoration: line-through;
|
|
}
|
|
.reservation-summary-card-v2.status-canceled .detail-button-v2 {
|
|
background-color: #6c757d;
|
|
}
|
|
.status-canceled .card-status-badge {
|
|
background-color: #dc3545;
|
|
color: white;
|
|
}
|
|
|
|
/* Pending */
|
|
.reservation-summary-card-v2.status-pending {
|
|
border-left: 5px solid #ffc107; /* Yellow accent */
|
|
}
|
|
.status-pending .card-status-badge {
|
|
background-color: #ffc107;
|
|
color: #212529;
|
|
}
|
|
|
|
/* Detail Button */
|
|
.detail-button-v2 {
|
|
background-color: #007bff;
|
|
color: white;
|
|
border: none;
|
|
border-radius: 8px;
|
|
padding: 10px 20px;
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s;
|
|
}
|
|
|
|
.detail-button-v2:hover {
|
|
background-color: #0056b3;
|
|
}
|
|
|
|
.detail-button-v2:disabled {
|
|
background-color: #cdd3d8;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
/* Modal Styles */
|
|
.modal-overlay-v2 {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background-color: rgba(0, 0, 0, 0.6);
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
z-index: 1000;
|
|
}
|
|
|
|
.modal-content-v2 {
|
|
background: #ffffff !important;
|
|
padding: 30px !important;
|
|
border-radius: 16px !important;
|
|
width: 90% !important;
|
|
max-width: 500px !important;
|
|
position: relative !important;
|
|
box-shadow: 0 5px 15px rgba(0,0,0,0.3) !important;
|
|
animation: slide-up 0.3s ease-out !important;
|
|
max-height: 90vh !important; /* Prevent modal from being too tall */
|
|
overflow-y: auto !important; /* Allow scrolling for long content */
|
|
}
|
|
|
|
@keyframes slide-up {
|
|
from {
|
|
transform: translateY(20px);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: translateY(0);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
.modal-close-button-v2 {
|
|
position: absolute;
|
|
top: 15px;
|
|
right: 15px;
|
|
background: none;
|
|
border: none;
|
|
font-size: 24px;
|
|
cursor: pointer;
|
|
color: #8492a6;
|
|
}
|
|
|
|
.modal-content-v2 h2 {
|
|
margin-top: 0;
|
|
margin-bottom: 25px;
|
|
color: #333d4b;
|
|
font-size: 24px;
|
|
}
|
|
|
|
.modal-section-v2 {
|
|
margin-bottom: 20px;
|
|
padding-bottom: 20px;
|
|
border-bottom: 1px solid #e5e8eb;
|
|
}
|
|
|
|
.modal-section-v2:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.modal-section-v2 h3 {
|
|
font-size: 18px;
|
|
color: #333d4b;
|
|
margin-top: 0;
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.modal-section-v2 p {
|
|
margin: 0 0 10px;
|
|
color: #505a67;
|
|
}
|
|
|
|
.cancellation-section-v2 {
|
|
background-color: #fcf2f2;
|
|
padding: 15px;
|
|
border-radius: 8px;
|
|
border: 1px solid #f0d1d1;
|
|
}
|
|
|
|
.cancellation-section-v2 h3 {
|
|
color: #c9302c;
|
|
}
|
|
|
|
/* Modal Actions & Cancellation View */
|
|
.modal-actions-v2 {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
margin-top: 30px;
|
|
}
|
|
|
|
.modal-actions-v2 button {
|
|
border: none;
|
|
border-radius: 8px;
|
|
padding: 12px 20px;
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s, color 0.2s;
|
|
}
|
|
|
|
.cancel-button-v2 {
|
|
background-color: #e53e3e;
|
|
color: white;
|
|
width: 100%;
|
|
}
|
|
|
|
.cancel-button-v2:hover {
|
|
background-color: #c53030;
|
|
}
|
|
|
|
.back-button-v2 {
|
|
background-color: #e9ecef;
|
|
color: #495057;
|
|
}
|
|
|
|
.back-button-v2:hover {
|
|
background-color: #dee2e6;
|
|
}
|
|
|
|
.cancel-submit-button-v2 {
|
|
background-color: #007bff;
|
|
color: white;
|
|
}
|
|
|
|
.cancel-submit-button-v2:hover {
|
|
background-color: #0056b3;
|
|
}
|
|
|
|
.cancel-submit-button-v2:disabled,
|
|
.back-button-v2:disabled {
|
|
background-color: #cdd3d8;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.cancellation-view-v2 h3 {
|
|
font-size: 18px;
|
|
color: #333d4b;
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.cancellation-summary-v2 {
|
|
background-color: #f8f9fa;
|
|
border-radius: 8px;
|
|
padding: 15px;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.cancellation-summary-v2 p {
|
|
margin: 0 0 8px;
|
|
}
|
|
.cancellation-summary-v2 p:last-child {
|
|
margin: 0;
|
|
}
|
|
|
|
.cancellation-reason-textarea-v2 {
|
|
width: 100%;
|
|
padding: 10px;
|
|
border: 1px solid #ced4da;
|
|
border-radius: 8px;
|
|
font-size: 16px;
|
|
line-height: 1.5;
|
|
resize: vertical;
|
|
box-sizing: border-box; /* Ensures padding doesn't add to width */
|
|
}
|
|
|
|
.cancellation-reason-textarea-v2:focus {
|
|
outline: none;
|
|
border-color: #007bff;
|
|
box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
|
|
}
|
|
|
|
/* Added for modal info alignment */
|
|
.modal-info-grid p {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
margin: 0.6rem 0;
|
|
line-height: 1.5;
|
|
}
|
|
.modal-info-grid p strong {
|
|
flex: 0 0 130px; /* fixed width for labels */
|
|
font-weight: 600;
|
|
}
|
|
.modal-info-grid p span {
|
|
flex: 1;
|
|
}
|