@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap";*{box-sizing:border-box;margin:0;padding:0;font-family:Poppins,sans-serif}body{background:#f8f4eb}.app{background:#f8f4eb;min-height:100vh;padding:12px 24px}.topHeader{color:#fff;z-index:999;background:#343434;justify-content:center;align-items:center;height:145px;display:flex;position:sticky;top:0}.topHeader h1{letter-spacing:-2px;text-align:center;font-size:50px;font-weight:900}.brandTag{color:#fff;z-index:1000;background:#ff2d2d;border:4px solid #343434;border-radius:999px;padding:12px 42px;font-size:24px;font-weight:800;position:absolute;bottom:-30px}@media screen and (width<=768px){.topHeader{height:150px;padding:20px 16px}.topHeader h1{letter-spacing:-1px;max-width:360px;font-size:38px;line-height:1}.brandTag{text-align:center;max-width:90%;padding:10px 24px;font-size:18px;bottom:-25px}}.heroSection{text-align:center;max-width:900px;margin:30px auto 0;padding:20px}.heroLogo{width:100%;max-width:600px;height:auto}.heroSection h2{color:#2f2f2f;margin-bottom:8px;font-size:34px;font-weight:900}.heroSection p{color:#444;max-width:560px;margin:0 auto;font-size:16px;font-weight:500;line-height:1.6}.sectionDivider{background:#ff2d2d;border-radius:999px;width:120px;height:5px;margin:28px auto 0}.formSection{max-width:1100px;margin:50px auto;padding:0 20px}.formCard{background:#fff;border:3px solid #2f2f2f;border-radius:28px;padding:35px;box-shadow:0 15px 35px #00000014}.sectionHeader{align-items:center;gap:15px;margin-bottom:30px;display:flex}.sectionHeader span{color:#fff;background:#ff2d2d;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;font-weight:800;display:flex}.sectionHeader h3{color:#2f2f2f;font-size:28px;font-weight:800}.formGrid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}@media (width<=768px){.formGrid{grid-template-columns:1fr}}.inputGroup{flex-direction:column;display:flex}.inputGroup label{color:#2f2f2f;margin-bottom:8px;font-size:14px;font-weight:700}.inputGroup input{border:2px solid #ddd;border-radius:16px;outline:none;height:56px;padding:0 18px;font-size:15px;font-weight:500}.inputGroup input:focus{border-color:#ff2d2d}.inputGroup select,.inputGroup textarea{background:#fff;border:2px solid #ddd;border-radius:16px;outline:none;padding:14px 18px;font-size:15px;font-weight:500}.inputGroup select{height:56px}.inputGroup textarea{resize:vertical;min-height:120px}.inputGroup select:focus,.inputGroup textarea:focus{border-color:#ff2d2d}.fullWidth{grid-column:span 2}.packageGrid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}@media (width<=768px){.packageGrid{grid-template-columns:1fr}}.packageCard{cursor:pointer;background:#fffaf2;border:3px solid #2f2f2f;border-radius:24px;padding:24px;transition:all .2s;position:relative}.packageCard:hover{transform:translateY(-4px);box-shadow:0 14px 28px #0000001f}.packageCard.active{background:#fff;border-color:#ff2d2d}.packageCard.active:after{content:"✓";color:#fff;background:#ff2d2d;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-weight:900;display:flex;position:absolute;top:18px;right:18px}.packageTop{margin-bottom:18px}.packageTop h4{color:#2f2f2f;margin-bottom:6px;font-size:32px;font-weight:900}.packageTop span{color:#fff;background:#ff2d2d;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:800;display:inline-block}.packageCard ul{margin:0;padding:0;list-style:none}.packageCard li{color:#333;margin-bottom:8px;font-size:14px;font-weight:600}.packageCard li:before{content:"• ";color:#ff2d2d;font-weight:900}.packagePrice{border-top:2px dashed #ddd;margin-top:22px;padding-top:18px}.packagePrice small{color:#666;margin-bottom:3px;font-size:13px;font-weight:700;display:block}.packagePrice strong{color:#ff2d2d;font-size:28px;font-weight:900}.durationGrid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (width<=768px){.durationGrid{grid-template-columns:1fr}}.durationCard{text-align:center;cursor:pointer;background:#fff;border:3px solid #ddd;border-radius:22px;padding:24px;transition:all .2s}.durationCard:hover{transform:translateY(-3px)}.durationCard.active{border-color:#ff2d2d}.durationCard h4{margin-bottom:8px;font-size:28px;font-weight:900}.durationCard p{color:#666;margin-bottom:15px}.durationCard strong{color:#ff2d2d;font-size:24px}.emptyState{text-align:center;color:#777;background:#f5f5f5;border-radius:20px;padding:30px;font-weight:600}.addonGrid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (width<=768px){.addonGrid{grid-template-columns:1fr}}.addonCard{background:#fffaf2;border:3px solid #2f2f2f;border-radius:22px;justify-content:space-between;align-items:center;padding:24px;display:flex}.addonCard h4{color:#2f2f2f;margin-bottom:6px;font-size:24px;font-weight:900}.addonCard p{color:#ff2d2d;font-size:15px;font-weight:700}.qtyControl{align-items:center;gap:14px;display:flex}.qtyControl button{color:#fff;cursor:pointer;background:#ff2d2d;border:none;border-radius:14px;width:42px;height:42px;font-size:22px;font-weight:900}.qtyControl strong{text-align:center;min-width:28px;font-size:22px;font-weight:900}.printInputBox{align-items:center;gap:12px;display:flex}.printInputBox input{text-align:center;border:2px solid #ddd;border-radius:14px;width:120px;height:50px;font-size:18px;font-weight:700}.printInputBox input:focus{border-color:#ff2d2d;outline:none}.printInputBox span{color:#2f2f2f;font-size:15px;font-weight:700}.summaryBox{flex-direction:column;gap:16px;display:flex}.summaryRow{border-bottom:1px dashed #d9d9d9;justify-content:space-between;align-items:flex-start;gap:20px;padding:14px 0;display:flex}.summaryRow span{font-size:16px;font-weight:600}.summaryRow strong{text-align:right;max-width:60%;font-size:16px;font-weight:800}.summaryBox hr{border:none;border-top:2px dashed #ddd}.summaryTotal{justify-content:space-between;align-items:center;padding-top:10px;display:flex}.summaryTotal span{font-size:24px;font-weight:900}.summaryTotal strong{color:#ff2d2d;font-size:30px;font-weight:900}.virtualAddon{cursor:pointer}.virtualAddon.active{background:#fff;border-color:#ff2d2d}.addonCheck{color:#fff;background:#ff2d2d;border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;font-size:22px;font-weight:900;display:flex}.paymentNote{color:#c62828;background:#fff4f4;border:2px solid #ffd0d0;border-radius:14px;margin-top:20px;padding:16px;font-size:14px;font-weight:600;line-height:1.6}.paymentCard{flex-direction:column;gap:18px;display:flex}.paymentCard p{color:#444;font-size:15px;font-weight:600}.bankInfo{background:#fffaf2;border:2px solid #2f2f2f;border-radius:16px;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.bankInfo span{color:#666;font-size:14px;font-weight:700}.bankInfo strong{color:#2f2f2f;font-size:18px;font-weight:900}.copyBtn{color:#fff;cursor:pointer;background:#ff2d2d;border:none;border-radius:14px;width:100%;height:50px;font-size:15px;font-weight:800;transition:all .2s}.copyBtn:hover{transform:translateY(-2px)}.remainingPayment{color:#ff2d2d;font-size:26px;font-weight:900}.summaryRow strong.remainingPayment{color:#ff2d2d;font-size:24px;font-weight:900}.uploadInfo{color:#666;margin-top:8px;font-size:13px;line-height:1.5}.filePreviewBox{background:#fffaf2;border:2px solid #2f2f2f;border-radius:16px;flex-direction:column;gap:8px;margin-top:14px;padding:16px;display:flex}.filePreviewBox strong{color:#2f2f2f;font-size:14px}.filePreviewBox span{color:#555;font-size:14px;font-weight:600}.filePreviewBox img{border:2px solid #ddd;border-radius:14px;width:220px;max-width:100%;margin-top:10px}.reviewBox{flex-direction:column;gap:22px;display:flex}.bookingCodeBox{background:#fffaf2;border:2px solid #2f2f2f;border-radius:16px;justify-content:space-between;align-items:center;padding:18px;display:flex}.bookingCodeBox span{color:#555;font-size:14px;font-weight:700}.bookingCodeBox strong{color:#ff2d2d;font-size:18px;font-weight:900}.agreeBox{color:#2f2f2f;align-items:flex-start;gap:12px;font-size:15px;font-weight:600;line-height:1.6;display:flex}.agreeBox input{width:18px;height:18px;margin-top:5px}.submitBookingBtn{color:#fff;cursor:pointer;background:#ff2d2d;border:none;border-radius:18px;width:100%;height:64px;font-size:18px;font-weight:900;transition:all .2s}.submitBookingBtn:hover{transform:translateY(-2px)}.submitBookingBtn:disabled{cursor:not-allowed;background:#bbb;transform:none}.submitWarning{text-align:center;color:#c62828;font-size:14px;font-weight:700}.reviewChecklist{flex-direction:column;gap:16px;display:flex}.summaryTime{color:#ff2d2d;font-size:18px;font-weight:800}.summaryRow strong.packageBadge{color:#fff;background:#ff2d2d;border-radius:999px;padding:7px 14px;font-size:14px;font-weight:900}.summaryRow strong.bookingCodeText{color:#ff2d2d;font-size:18px;font-weight:900}.locationText{line-height:1.6}.modalOverlay{z-index:9999;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirmModal{background:#fff;border:3px solid #2f2f2f;border-radius:26px;width:100%;max-width:520px;padding:28px;box-shadow:0 25px 70px #00000047}.confirmModal h3{color:#2f2f2f;margin-bottom:22px;font-size:28px;font-weight:900}.modalSummary{flex-direction:column;gap:14px;display:flex}.modalSummary div{border-bottom:1px dashed #d9d9d9;justify-content:space-between;gap:16px;padding-bottom:12px;display:flex}.modalSummary span{color:#666;font-size:14px;font-weight:700}.modalSummary strong{color:#2f2f2f;text-align:right;font-size:15px;font-weight:900}.modalActions{gap:14px;margin-top:26px;display:flex}.cancelBtn,.confirmBtn{cursor:pointer;border:none;border-radius:16px;flex:1;height:54px;font-size:15px;font-weight:900}.cancelBtn{color:#2f2f2f;background:#eee}.confirmBtn{color:#fff;background:#ff2d2d}.modalBookingCode{color:#ff2d2d;margin-bottom:18px;font-size:18px;font-weight:900}.modalDisclaimer{color:#777;text-align:center;margin-top:20px;font-size:13px;line-height:1.6}.adminPage{color:#2f2f2f;background:#f8f3ea;min-height:100vh;padding:40px}.adminHeader{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto 30px;display:flex}.adminHeader h1{margin-bottom:6px;font-size:42px;font-weight:900}.adminHeader p{color:#666;font-size:16px;font-weight:600}.adminHeader button{color:#fff;cursor:pointer;background:#ff2d2d;border:none;border-radius:14px;padding:14px 22px;font-size:15px;font-weight:900}.adminCard{background:#fff;border:3px solid #2f2f2f;border-radius:26px;max-width:1200px;margin:0 auto;padding:28px}.adminCard h2{margin-bottom:22px;font-size:26px;font-weight:900}.adminTableWrap{overflow-x:auto}.adminTable{border-collapse:collapse;width:100%}.adminTable th,.adminTable td{text-align:left;border-bottom:1px dashed #d9d9d9;padding:16px;font-size:14px;font-weight:700}.adminTable th{color:#ff2d2d;font-weight:900}.statusBadge{color:#ff2d2d;background:#fff4f4;border:2px solid #ffd0d0;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900;display:inline-block}.detailBtn{color:#fff;cursor:pointer;background:#ff2d2d;border:none;border-radius:10px;padding:8px 14px;font-weight:800}.modalOverlay{z-index:9999;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.detailModal{background:#fff;border-radius:24px;width:900px;max-width:95%;max-height:90vh;padding:30px;overflow-y:auto}.detailHeader{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.closeBtn{color:#fff;cursor:pointer;background:#ff2d2d;border:none;border-radius:50%;width:40px;height:40px}.detailGrid{grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:30px;display:grid}.detailGrid p{margin-top:8px}.proofSection h3{margin-bottom:15px}.proofImage{object-fit:contain;border:2px solid #ddd;border-radius:16px;width:100%;max-height:600px}.actionButtons{gap:12px;margin-top:20px;display:flex}.approveBtn{color:#fff;cursor:pointer;background:#00a651;border:none;border-radius:10px;padding:12px 18px;font-weight:600}.approveBtn:hover{opacity:.9}.rejectBtn{color:#fff;cursor:pointer;background:#e53935;border:none;border-radius:10px;padding:12px 18px;font-weight:600}.rejectBtn:hover{opacity:.9}.statusBadge{border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-block}.statusBadge.pending{color:#ff3b30;background:#fff3f3;border:1px solid #ffc7c7}.statusBadge.success{color:#0f9d58;background:#e9fff1;border:1px solid #9ee0b8}.statusBadge.danger{color:#d93025;background:#fff0f0;border:1px solid #ffb0b0}.detailModal .actionButtons{gap:14px;margin-top:24px;display:flex}.detailModal .approveBtn,.detailModal .rejectBtn{color:#fff;cursor:pointer;border:none;border-radius:14px;padding:14px 22px;font-size:14px;font-weight:900}.detailModal .approveBtn{background:#00a651}.detailModal .rejectBtn{background:#ff2d2d}.statusBadge.statusPending{color:#ff8a00;background:#fff4e5;border-color:#ffd59a}.statusBadge.statusSuccess{color:#00a651;background:#e8fff0;border-color:#9ee8bc}.statusBadge.statusReject{color:#e53935;background:#ffecec;border-color:#ffb5b5}.modalApproveBtn,.modalRejectBtn{color:#fff;cursor:pointer;border-radius:14px;outline:none;padding:14px 22px;font-size:14px;font-weight:900;border:none!important}.modalApproveBtn{background:#00a651}.modalRejectBtn{background:#ff2d2d}.adminTools{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.searchInput{border:1px solid #ddd;border-radius:14px;flex:1;min-width:300px;padding:14px 18px;font-size:14px}.statusFilter{border:1px solid #ddd;border-radius:14px;min-width:220px;padding:14px 18px;font-size:14px}.statsGrid{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px;display:grid}.statCard{background:#fff;border:2px solid #222;border-radius:20px;padding:20px}.statCard h3{color:#666;margin:0;font-size:14px}.statCard h2{color:#222;margin-top:10px;font-size:32px;font-weight:900}@media (width<=768px){.statsGrid{grid-template-columns:1fr 1fr}}.waBtn{color:#fff;cursor:pointer;background:#25d366;border:none;border-radius:14px;padding:14px 22px;font-size:14px;font-weight:900}.successPage{background:#f8f3ea;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.successCard{text-align:center;background:#fff;border:3px solid #222;border-radius:30px;width:100%;max-width:650px;padding:40px}.successIcon{margin-bottom:20px;font-size:60px}.successCard h1{margin-bottom:10px}.successInfo{grid-template-columns:1fr 1fr;gap:20px;margin-top:30px;display:grid}.successInfo div{background:#fafafa;border-radius:16px;padding:16px}.successNotice{background:#fff7e6;border-radius:16px;margin-top:24px;padding:20px;font-size:14px;line-height:1.6}.successBtn{color:#fff;cursor:pointer;background:#ff2d2d;border:none;border-radius:14px;margin-top:24px;padding:14px 24px;font-weight:900}.adminTabs{gap:10px;margin-bottom:20px;display:flex}.tabBtn{cursor:pointer;border:none;border-radius:12px;padding:12px 20px}.activeTab{color:#fff;background:#ff3131}.calendarPlaceholder{margin-top:20px}.calendarGrid{grid-template-columns:repeat(7,1fr);gap:10px;margin-top:20px;display:grid}.calendarDay{border:1px solid #ddd;border-radius:12px;justify-content:center;align-items:center;height:70px;font-weight:700;display:flex}.booked{color:#d60000;background:#fdd}.calendarContainer{margin-top:20px}.calendarHeader{justify-content:center;align-items:center;gap:20px;margin-bottom:20px;display:flex}.monthBtn{color:#fff;cursor:pointer;background:#ff3131;border:none;border-radius:10px;padding:10px 16px}.calendarGrid{grid-template-columns:repeat(7,1fr);gap:12px;display:grid}.calendarDay{border:1px solid #ddd;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:90px;font-weight:700;display:flex}.calendarEmpty{min-height:90px}.calendarDay.booked{color:#d40000;background:#ffe2e2}.calendarDay small{margin-top:6px;font-size:11px}.calendarSelect{cursor:pointer;background:#fff;border:2px solid #222;border-radius:12px;padding:12px 16px;font-size:15px;font-weight:800}.clickableDay{cursor:pointer}.clickableDay:hover{transform:translateY(-2px)}.calendarBookingList{border-top:1px dashed #ddd;margin-top:24px;padding-top:20px}.calendarBookingItem{background:#fff;border:1px solid #ddd;border-radius:14px;grid-template-columns:1.2fr 1fr 1.6fr 1.2fr 1.3fr 1.3fr;gap:14px;margin-top:12px;padding:16px;display:grid}.calendarBookingItem strong{font-size:13px}.calendarBookingItem p{margin-top:6px;font-size:13px}.weekDays{grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:12px;display:grid}.weekDays div{text-align:center;color:#444;font-weight:800}.calendarBookingItem{cursor:pointer;transition:all .2s}.calendarBookingItem:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.calendarBookingList{background:#fff8f8;border-radius:18px;padding:20px}.selectedDay{color:#fff!important;background:#ff3131!important}.trackingPage{background:#f3efe7;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.trackingCard{background:#fff;border:2px solid #2d2d2d;border-radius:28px;width:100%;max-width:900px;padding:40px;box-shadow:0 15px 40px #00000014}.trackingCard h1{text-align:center;margin-bottom:30px;font-size:38px;font-weight:800}.trackingGrid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.trackingGrid div{background:#fafafa;border:1px solid #e5e5e5;border-radius:16px;padding:18px}.trackingGrid strong{color:#666;margin-bottom:8px;font-size:14px;display:block}.trackingGrid p{margin:0;font-size:18px;font-weight:600}@media (width<=768px){.trackingGrid{grid-template-columns:1fr}.trackingCard{padding:25px}.trackingCard h1{font-size:28px}}.statusSuccess{color:#009b4c;background:#dff7e7;border-radius:999px;padding:10px 18px;font-weight:700;display:inline-block}.statusPending{color:#ff3131;background:#fff1f1;border-radius:999px;padding:10px 18px;font-weight:700;display:inline-block}.transportWarning{color:#8a5a00;background:#fff7e6;border:1px solid #ffd27a;border-radius:14px;margin-top:18px;padding:14px 16px;font-size:14px;font-weight:700;line-height:1.6}.adminTransportInput{border:2px solid #ddd;border-radius:12px;width:100%;margin-top:8px;padding:12px 14px;font-size:14px;font-weight:700}.saveTransportBtn{color:#fff;cursor:pointer;background:#ff2d2d;border:none;border-radius:12px;margin-top:10px;padding:11px 16px;font-size:13px;font-weight:900}.lunasBtn{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:10px;padding:12px 20px;font-weight:600}.lunasBtn:hover{opacity:.9}.adminLoginPage{background:#f3efe7;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.adminLoginCard{background:#fff;border:2px solid #222;border-radius:26px;width:100%;max-width:430px;padding:36px;box-shadow:0 18px 45px #00000014}.adminLoginCard h1{margin-bottom:10px;font-size:32px;font-weight:900}.adminLoginCard p{color:#666;margin-bottom:24px;font-weight:600}.adminLoginCard input{border:1px solid #ddd;border-radius:14px;width:100%;height:52px;margin-bottom:14px;padding:0 16px;font-size:15px;font-weight:700}.adminLoginCard button{color:#fff;cursor:pointer;background:#ff3131;border:none;border-radius:14px;width:100%;height:52px;font-size:15px;font-weight:900}.adminHeaderActions{gap:10px;display:flex}.logoutBtn{background:#222!important}.deleteBookingBtn{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:14px;padding:14px 22px;font-size:14px;font-weight:900}.deleteBookingBtn:hover{opacity:.9}@media (width<=768px){.formCard{box-sizing:border-box;width:100%;padding:20px}.heroLogo{width:100%;max-width:320px;height:auto}.sectionHeader{flex-direction:row;align-items:center;gap:12px}.summaryRow{flex-direction:column;align-items:flex-start;gap:6px}.paymentCard,.submitBookingBtn{width:100%}.confirmModal{width:95%;max-height:90vh;overflow-y:auto}}@media screen and (width<=768px){.formGrid,.packageGrid,.durationGrid,.addonGrid{grid-template-columns:1fr}.heroSection h2{font-size:36px}.heroSection p{font-size:14px}.formCard{padding:15px}.summaryRow{flex-direction:column;align-items:flex-start;gap:5px}.confirmModal{width:95%;max-height:90vh;overflow-y:auto}.submitBookingBtn{width:100%}.formGrid{grid-template-columns:1fr!important;width:100%!important;display:grid!important}.inputGroup{width:100%!important;min-width:0!important}.inputGroup input,.inputGroup select,.inputGroup textarea{box-sizing:border-box!important;width:100%!important}.fullWidth{grid-column:1/-1!important}.formCard{overflow:hidden}.qtyControl{justify-content:space-between;width:100%}}@media screen and (width>=769px){.topHeader h1{max-width:none;font-size:64px;line-height:1}.brandTag{position:absolute}}
