.account-avatar{width:60px;height:60px;background:linear-gradient(135deg,#9d4edd,#7b2cbf);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#fff;flex-shrink:0}.account-card{background:#1a1a1a;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px 32px}.account-danger-card{border-color:rgba(220,53,69,.25)}.account-section-title{font-family:Poppins,sans-serif;font-weight:700;font-size:1rem;color:#c77dff;text-transform:uppercase;letter-spacing:.5px;margin-bottom:20px}.account-section-title.text-danger{color:#ff6b6b!important}.account-card .form-control{background:#222;border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:8px;padding:.75rem 1rem;transition:border-color .3s}.account-card .form-control::placeholder{color:rgba(255,255,255,.3)}.account-card .form-control:focus,.booking-card .form-control:focus,.booking-card .form-select:focus,.modal-body .form-control:focus,.modal-body .form-select:focus{background:#2a2a2a;border-color:#9d4edd;box-shadow:0 0 0 .2rem rgba(157,78,221,.15);color:#fff}.account-card .form-label{color:rgba(255,255,255,.75);font-family:Poppins,sans-serif;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.account-event-card{background:#222;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:18px 20px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;transition:border-color .2s}.account-event-card:hover{border-color:rgba(157,78,221,.3)}.account-event-card:last-child{margin-bottom:0}.event-card-id{font-family:Poppins,sans-serif;font-weight:700;font-size:.9rem;color:#c77dff;letter-spacing:1px}.event-card-type{font-family:Poppins,sans-serif;font-size:.85rem;color:#fff;font-weight:600}.event-card-date{font-size:.82rem;color:rgba(255,255,255,.5)}.event-card-status{font-size:.75rem;font-family:Poppins,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 10px;border-radius:20px}.status-completed{background:rgba(25,135,84,.2);color:#75b798}.notes-toolbar--admin button.active,.notes-toolbar--admin button:hover,.status-pending{background:rgba(255,193,7,.15);color:#ffc107}.status-cancelled{background:rgba(220,53,69,.15);color:#ff6b6b}.admin-table{color:rgba(255,255,255,.85);font-size:.875rem}.admin-table th{color:#c77dff;font-family:Poppins,sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.1);padding:10px 12px;background:0 0;white-space:nowrap}.admin-table td{border-bottom:1px solid rgba(255,255,255,.05);padding:10px 12px;vertical-align:middle;background:0 0;color:rgba(255,255,255,.8)}.admin-table tr:hover td{background:rgba(157,78,221,.05)}.promo-badge{font-family:Poppins,sans-serif;font-weight:700;font-size:.8rem;letter-spacing:1px;padding:4px 12px;border-radius:6px;background:rgba(157,78,221,.15);color:#c77dff;display:inline-block}.account-tabs{display:flex;gap:4px;margin-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:0;flex-wrap:wrap}.account-tab-btn{background:0 0;border:none;color:rgba(255,255,255,.45);font-family:Poppins,sans-serif;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;padding:10px 18px;border-radius:8px 8px 0 0;cursor:pointer;transition:.2s;position:relative;bottom:-2px;border-bottom:2px solid transparent}.account-tab-btn:hover{color:rgba(255,255,255,.75);background:rgba(255,255,255,.04)}.account-tab-btn.active{color:#c77dff;border-bottom:2px solid #9d4edd}.account-tab-pane{display:none}.account-tab-pane.active{display:block}.modal-content{background:#1a1a1a;border:1px solid rgba(255,255,255,.1)}.modal-header{border-bottom:1px solid rgba(255,255,255,.08)}.modal-footer{border-top:1px solid rgba(255,255,255,.08)}.modal-body .form-control,.modal-body .form-select{background:#222;border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:8px}.modal-body .form-control::placeholder{color:rgba(255,255,255,.3)}.modal-body .form-label{color:rgba(255,255,255,.75);font-family:Poppins,sans-serif;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.modal-body .form-select option{background:#222}@media (max-width:576px){.account-card{padding:20px 16px}.account-event-card{flex-direction:column;align-items:flex-start}}.phone-country-code{background:#1a1a1a;border:1px solid rgba(255,255,255,.12);color:#fff!important;border-radius:8px 0 0 8px!important;padding:.4rem;font-size:.82rem;width:90px;min-width:90px;max-width:90px;flex-shrink:0;cursor:pointer}.phone-country-code:focus{background:#2a2a2a;border-color:#9d4edd;box-shadow:0 0 0 .2rem rgba(157,78,221,.15);color:#fff!important}.phone-country-code option{background:#1a1a1a!important;color:#fff!important}.schedule-dropzone{border:2px dashed rgba(255,255,255,.25);border-radius:10px;padding:28px 16px;text-align:center;color:rgba(255,255,255,.55);cursor:pointer;transition:border-color .2s,background .2s}.schedule-dropzone.drag-over,.schedule-dropzone:hover{border-color:rgba(199,125,255,.7);background:rgba(199,125,255,.07)}.schedule-browse-link{color:#c77dff;cursor:pointer;text-decoration:underline}.schedule-upload-tabs .btn.active{background:rgba(255,255,255,.12)}#venue-restrictions .form-check-label,.portal-shell .form-check-label{color:rgba(255,255,255,.85)}#venue-restrictions.is-invalid-group .form-check-input{border-color:rgba(220,53,69,.6)}.booking-section{background:#111;min-height:100vh;padding:60px 0 80px}.booking-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:48px;flex-wrap:nowrap}.booking-step{display:flex;flex-direction:column;align-items:center;gap:8px}.step-circle{width:44px;height:44px;border-radius:50%;background:#2a2a2a;border:2px solid rgba(255,255,255,.1);color:rgba(255,255,255,.4);font-family:Poppins,sans-serif;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:.3s}.step-label{font-family:Poppins,sans-serif;font-size:.75rem;font-weight:600;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;transition:color .3s}.step-line{flex:1;height:2px;background:rgba(255,255,255,.1);margin-bottom:24px;max-width:80px;transition:background .3s}.booking-step.active .step-circle,.booking-step.completed .step-circle{background:#9d4edd;border-color:#9d4edd;color:#fff}.booking-step.completed .step-circle{background:#7b2cbf}.booking-step.active .step-label,.booking-step.completed .step-label{color:#c77dff}.legend-dot.selected,.step-line.completed{background:#9d4edd}.booking-card{background:#1a1a1a;border-radius:16px;padding:48px;max-width:800px;margin:0 auto;border:1px solid rgba(255,255,255,.08)}.booking-title{font-family:Poppins,sans-serif;font-weight:900;font-size:2rem;color:#fff;margin-bottom:8px;text-transform:uppercase}.booking-subtitle{color:rgba(255,255,255,.55);font-size:1rem;margin-bottom:32px}.booking-card .form-control,.booking-card .form-select{background:#222;border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:8px;padding:.8rem 1rem;transition:border-color .3s}.booking-card .form-control::placeholder{color:rgba(255,255,255,.35)}.booking-card .form-select option{background:#222;color:#fff}.booking-card .form-label{color:rgba(255,255,255,.85);font-family:Poppins,sans-serif;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.booking-nav{display:flex;justify-content:space-between;align-items:center;margin-top:36px;padding-top:24px;border-top:1px solid rgba(255,255,255,.07)}.btn-booking-next{padding:.75rem 2rem}.booking-calendar{background:#222;border-radius:12px;border:1px solid rgba(255,255,255,.08);padding:24px;margin-bottom:24px}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.cal-month-label{font-family:Poppins,sans-serif;font-weight:700;font-size:1.1rem;color:#fff}.cal-nav{background:0 0;border:none;color:rgba(255,255,255,.6);font-size:1.1rem;cursor:pointer;padding:4px 10px;border-radius:6px;transition:.2s}.cal-nav:hover{background:rgba(157,78,221,.2);color:#c77dff}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:8px}.cal-weekdays span{font-family:Poppins,sans-serif;font-size:.75rem;font-weight:600;color:rgba(255,255,255,.4);text-transform:uppercase;padding:4px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:500;color:rgba(255,255,255,.85);cursor:pointer;transition:.2s;position:relative}.cal-day:hover:not(.booked):not(.past):not(.empty):not(.travel):not(.rest){background:rgba(157,78,221,.25);color:#fff}.cal-day.sel-rest:hover,.cal-day.sel-travel:hover{background:rgba(157,78,221,.35)!important;color:#fff!important;transform:scale(1.05)}.cal-day.past{color:rgba(255,255,255,.2);cursor:not-allowed}.cal-day.empty{cursor:default}.cal-day.booked{background:rgba(255,255,255,.06);color:rgba(255,255,255,.25);cursor:not-allowed;text-decoration:line-through}.cal-day.booked::after{content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:4px;height:4px;background:#9d4edd;border-radius:50%}.cal-day.travel{background:rgba(255,165,0,.08);color:rgba(255,255,255,.25);cursor:not-allowed}.cal-day.sel-travel::after,.cal-day.travel::after{content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:4px;height:4px;background:#f59e0b;border-radius:50%}.cal-day.rest{background:rgba(59,130,246,.07);color:rgba(255,255,255,.25);cursor:not-allowed}.cal-day.rest::after,.cal-day.sel-rest::after{content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:4px;height:4px;background:#3b82f6;border-radius:50%}.cal-day.sel-travel{background:rgba(255,165,0,.18);color:rgba(255,255,255,.7);cursor:default}.cal-day.sel-rest{background:rgba(59,130,246,.15);color:rgba(255,255,255,.7);cursor:default}.cal-day.selected{background:#9d4edd;color:#fff;font-weight:700}.cal-day.today{border:2px solid rgba(157,78,221,.5)}.cal-legend{display:flex;align-items:center;gap:6px;margin-top:16px;font-size:.8rem;color:rgba(255,255,255,.45)}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.legend-dot.booked{background:rgba(255,255,255,.15);border:1px solid #9d4edd}.legend-dot.travel{background:rgba(255,165,0,.2);border:1px solid #f59e0b}.legend-dot.rest{background:rgba(59,130,246,.2);border:1px solid #3b82f6}.contract-section,.lockout-form{background:#222;border-radius:12px;padding:28px;border:1px solid rgba(255,255,255,.08)}.contract-badge{display:inline-block;background:rgba(157,78,221,.2);color:#c77dff;font-family:Poppins,sans-serif;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:4px 12px;border-radius:20px;margin-bottom:16px}.contract-section h5{color:#fff;font-family:Poppins,sans-serif;font-weight:700;margin-bottom:12px}.contract-section p{color:rgba(255,255,255,.65);font-size:.95rem;line-height:1.7;margin-bottom:16px}.contract-ack{display:flex;align-items:center;gap:10px;margin-top:16px}.contract-ack label{color:rgba(255,255,255,.8);font-size:.9rem;cursor:pointer}.contract-sign{border-top:1px solid rgba(255,255,255,.08);padding-top:20px}.contract-prefill-grid{display:flex;flex-direction:column;gap:8px}.contract-field{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 12px;background:rgba(255,255,255,.04);border-radius:8px;gap:12px}.contract-field-label{color:rgba(255,255,255,.45);font-size:.78rem;font-family:Poppins,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.contract-field-value{color:#fff;font-size:.9rem;font-weight:500;text-align:right}.contract-initials-row{display:flex;align-items:center;gap:16px;background:rgba(157,78,221,.08);border:1px solid rgba(157,78,221,.2);border-radius:10px;padding:14px 16px}.contract-initial-input{width:80px!important;text-align:center;font-family:Poppins,sans-serif;font-weight:700;font-size:1rem!important;letter-spacing:2px;text-transform:uppercase}.contract-list{color:rgba(255,255,255,.65);font-size:.95rem;line-height:1.8;padding-left:20px;margin-bottom:12px}.contract-list li{margin-bottom:6px}.sig-pad-wrap{position:relative;border:2px solid rgba(157,78,221,.4);border-radius:10px;background:#fff;overflow:hidden}.sig-canvas{display:block;width:100%;height:160px;cursor:crosshair;touch-action:none}.sig-clear-btn{position:absolute;top:8px;right:10px;background:rgba(0,0,0,.15);border:1px solid rgba(0,0,0,.2);border-radius:6px;color:#333;font-size:.75rem;padding:2px 10px;cursor:pointer}.sig-clear-btn:hover{background:rgba(0,0,0,.25)}.payment-summary{background:#222;border-radius:12px;padding:24px;border:1px solid rgba(255,255,255,.08);margin-bottom:28px}.payment-summary h6{color:#c77dff;font-family:Poppins,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:.8rem;margin-bottom:16px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:.9rem}.summary-row span:first-child{color:rgba(255,255,255,.5)}.summary-row span:last-child{color:#fff;font-weight:600}.summary-row.total{border-bottom:none;margin-top:8px;padding-top:16px}.summary-row.total span:first-child{color:#fff;font-weight:700}.summary-row.total span:last-child{color:#c77dff;font-size:1.1rem}.payment-placeholder{text-align:center;padding:24px;border:2px dashed rgba(157,78,221,.3);border-radius:12px;margin-bottom:8px}.payment-placeholder i{font-size:2rem;color:#9d4edd;margin-bottom:8px}.payment-placeholder h5{color:#fff;font-family:Poppins,sans-serif}.payment-placeholder p{color:rgba(255,255,255,.5);font-size:.9rem}.confirmation-screen{padding:20px 0}.event-id-box{background:#222;border:2px solid rgba(157,78,221,.4);border-radius:12px;padding:24px;display:inline-block;margin:24px auto;min-width:280px}.event-id{font-family:Poppins,sans-serif;font-size:1.8rem;font-weight:900;color:#c77dff;letter-spacing:4px}.lockout-form h5{color:#fff;font-family:Poppins,sans-serif;font-weight:700;margin-bottom:8px}.booking-error{background:rgba(220,53,69,.15);border:1px solid rgba(220,53,69,.4);color:#ff6b6b;border-radius:8px;padding:10px 16px;font-size:.9rem;margin-top:16px}#cal-conflict-error #cal-conflict-msg{white-space:pre-line}.form-control.is-invalid,.form-select.is-invalid{border-color:rgba(220,53,69,.6)!important}.confirm-section{min-height:calc(100vh - 60px);background:linear-gradient(135deg,#0d0d0d 0,#0a0a1a 60%,#0d1b3e 100%);display:flex;align-items:center;padding:60px 16px}.confirm-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:48px 40px;max-width:480px;width:100%;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.confirm-icon{width:72px;height:72px;background:rgba(0,102,255,.15);border:2px solid rgba(0,102,255,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:28px;color:#06f}.success-icon{font-size:56px;color:#22c55e}.error-icon{font-size:56px;color:#ef4444}.event-id-badge{background:rgba(0,102,255,.08);border:1px solid rgba(0,102,255,.3);border-radius:10px;padding:14px 20px;display:flex;flex-direction:column;gap:4px}.event-id-label{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#69f;font-weight:600}.event-id-value{font-size:22px;font-weight:700;color:#fff;letter-spacing:3px;font-family:monospace}.confirm-input{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;border-radius:8px}.confirm-input:focus{background:rgba(255,255,255,.09)!important;border-color:rgba(0,102,255,.5)!important;box-shadow:0 0 0 3px rgba(0,102,255,.15)!important;color:#fff!important}.confirm-input[readonly]{opacity:.6;cursor:default}.confirm-input::placeholder{color:rgba(255,255,255,.3)!important}.btn-outline-secondary{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.5)}.btn-outline-secondary:hover{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.2)}.confirm-btn{background:#06f;border:none;border-radius:8px;padding:14px 24px;font-size:15px;font-weight:600;letter-spacing:.3px;transition:background .2s,transform .1s}.confirm-btn:hover{background:#0052cc;transform:translateY(-1px)}.btn-primary:active,.confirm-btn:active{transform:translateY(0)}.text-muted-light{color:rgba(255,255,255,.55)!important}@media (max-width:480px){.confirm-card{padding:32px 20px}}#helcim-modal-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;animation:.2s helcim-fade-in}#helcim-modal-overlay:not(.helcim-hidden),.pe-picker-popup.open{display:flex}@keyframes helcim-fade-in{from{opacity:0}to{opacity:1}}#helcim-modal-box{display:block;border-radius:16px;width:min(920px,94vw);height:min(780px,90vh);overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.7);animation:.25s helcim-slide-up;will-change:transform;transform:translateZ(0)}#helcim-modal-box custom-code{display:block;width:100%;height:100%}@keyframes helcim-slide-up{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}#helcim-modal-iframe{width:100%;height:100%;min-height:100%;border:none;display:block;border-radius:16px}.portal-shell{display:flex;min-height:calc(100vh - 62px);background:#111}.portal-sidebar{width:260px;min-width:260px;background:#141414;border-right:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;position:sticky;top:62px;height:calc(100vh - 62px);overflow-y:auto}.portal-sidebar-header{padding:24px 20px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.portal-event-badge{display:flex;align-items:flex-start;gap:12px;color:#c77dff;font-size:1.5rem}.portal-event-badge>div{flex:1;min-width:0}.portal-event-id{font-family:Poppins,sans-serif;font-weight:700;font-size:.9rem;color:#fff;margin:0;word-break:break-all}.portal-event-date{font-size:.78rem;color:rgba(255,255,255,.45);margin:2px 0 0}.portal-nav{padding:16px 12px;flex:1;display:flex;flex-direction:column;gap:4px}.portal-nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:10px;border:none;background:0 0;color:rgba(255,255,255,.5);font-family:Poppins,sans-serif;font-size:.88rem;font-weight:600;text-align:left;cursor:pointer;transition:background .2s,color .2s}.portal-nav-item i{font-size:1.1rem;flex-shrink:0}.portal-nav-item:hover{background:rgba(255,255,255,.06);color:rgba(255,255,255,.85)}.portal-nav-item.active{background:rgba(157,78,221,.18);color:#c77dff}.portal-sidebar-footer{padding:16px 12px;border-top:1px solid rgba(255,255,255,.06)}.portal-signout-btn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:0 0;color:rgba(255,255,255,.4);font-family:Poppins,sans-serif;font-size:.83rem;font-weight:600;cursor:pointer;transition:.2s}.portal-signout-btn:hover{background:rgba(220,53,69,.12);border-color:rgba(220,53,69,.35);color:#f87171}.portal-mobile-nav{display:flex;background:#141414;border-bottom:1px solid rgba(255,255,255,.07);padding:6px 8px;gap:4px;position:sticky;top:62px;z-index:10}.portal-mobile-nav .portal-nav-item{flex:1;justify-content:center;flex-direction:column;gap:3px;padding:8px 6px;font-size:.7rem;text-align:center}.portal-mobile-nav .portal-nav-item i{font-size:1.2rem}.portal-main{flex:1;padding:40px 48px 80px;overflow-y:auto;max-width:860px}@media (max-width:991.98px){.portal-shell{flex-direction:column}.portal-sidebar{display:none!important}.portal-main{padding:28px 18px 60px;max-width:100%}}.portal-section-header{margin-bottom:28px}.portal-section-title{font-family:Poppins,sans-serif;font-weight:900;font-size:1.7rem;color:#fff;text-transform:uppercase;margin-bottom:6px}.portal-section-title i{color:#c77dff;margin-right:10px}.portal-section-sub{color:rgba(255,255,255,.5);font-size:.92rem;margin:0}.portal-card{background:#1a1a1a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:28px 30px}.portal-card-label{font-family:Poppins,sans-serif;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.6px;color:#c77dff;margin-bottom:6px}.portal-card-desc{color:rgba(255,255,255,.45);font-size:.85rem;margin-bottom:18px}.portal-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}.portal-info-item{display:flex;flex-direction:column;gap:3px}.portal-info-item--full{grid-column:1/-1}.portal-info-key{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:rgba(255,255,255,.35)}.portal-info-val{font-size:.95rem;color:rgba(255,255,255,.85);font-weight:500}@media (max-width:575.98px){.portal-info-grid{grid-template-columns:1fr}}.portal-input{background:#222!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;border-radius:8px!important;padding:.75rem 1rem!important;transition:border-color .3s,box-shadow .3s}.portal-input::placeholder{color:rgba(255,255,255,.3)!important}.portal-input:focus{background:#2a2a2a!important;border-color:#9d4edd!important;box-shadow:0 0 0 .2rem rgba(157,78,221,.15)!important;color:#fff!important}textarea.portal-input{resize:vertical;min-height:100px}.portal-textarea{font-family:'Open Sans',sans-serif;font-size:.88rem;line-height:1.6}label.form-label{color:rgba(255,255,255,.8);font-size:.88rem;margin-bottom:6px}.portal-optional{color:rgba(255,255,255,.35);font-size:.78rem;font-weight:400}#portal-promo-error,#portal-promo-success{display:flex!important}#portal-promo-error.d-none,#portal-promo-success.d-none{display:none!important}.portal-promo-input{flex:1 1 auto}.portal-addon-row{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.portal-addon-name{font-family:Poppins,sans-serif;font-weight:700;font-size:.92rem;color:#fff;margin-bottom:4px}.portal-addon-desc{color:rgba(255,255,255,.45);font-size:.82rem;margin-bottom:4px;max-width:440px}.portal-addon-options{display:flex;flex-direction:column;gap:6px;flex-shrink:0;padding-top:2px}.portal-haze-restriction-note{color:#f87171;font-size:.8rem;margin:4px 0 0}.portal-divider{border-color:rgba(255,255,255,.08);margin:20px 0}.portal-summary{display:flex;flex-direction:column;gap:0}.portal-summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05);color:rgba(255,255,255,.75);font-size:.92rem}.portal-summary-row:last-child{border-bottom:none}.portal-summary-row--upsell{color:#c77dff;font-size:.88rem}.portal-summary-row--promo{color:#4ade80;font-size:.88rem}.portal-summary-total{border-top:1px solid rgba(157,78,221,.3)!important;padding-top:14px!important;margin-top:6px;font-family:Poppins,sans-serif;font-weight:700;font-size:1.1rem!important;color:#c77dff!important}.admin-mode-badge{display:flex;align-items:center;gap:6px;margin-top:10px;padding:5px 10px;border-radius:20px;background:rgba(255,193,7,.15);border:1px solid rgba(255,193,7,.3);color:#ffc107;font-family:Poppins,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.3px}.admin-edit-label{font-family:Poppins,sans-serif;font-size:.75rem;font-weight:700;color:#ffc107;letter-spacing:.3px}.portal-card--admin{border-color:rgba(255,193,7,.25)!important;background:#1e1b10!important}.portal-admin-input{background:#2a2200!important;border-color:rgba(255,193,7,.2)!important}.portal-admin-input:focus{border-color:#ffc107!important;box-shadow:0 0 0 .2rem rgba(255,193,7,.12)!important}.portal-wip-badge{margin-left:auto;font-size:.6rem;font-weight:700;padding:2px 6px;border-radius:20px;background:rgba(255,193,7,.15);color:#ffc107;border:1px solid rgba(255,193,7,.3);letter-spacing:.3px;font-family:Poppins,sans-serif;flex-shrink:0}.portal-wip-inline{color:#ffc107;font-size:.82rem;font-style:italic}.portal-messages-shell{display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden;background:#1a1a1a;min-height:420px}.portal-messages-thread{flex:1;padding:24px;overflow-y:auto;min-height:300px;display:flex;flex-direction:column;gap:14px}.portal-msg-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:rgba(255,255,255,.2);font-size:.9rem;text-align:center;gap:10px;padding:40px 0}.portal-msg-empty i{font-size:2.5rem;color:rgba(255,255,255,.12)}.portal-messages-composer{border-top:1px solid rgba(255,255,255,.07);padding:16px 20px;background:#141414;display:flex;flex-direction:column;gap:10px}.portal-msg-wip-banner{background:rgba(255,193,7,.08);border:1px solid rgba(255,193,7,.2);border-radius:8px;color:#ffc107;font-size:.82rem;font-weight:600;padding:8px 14px;display:flex;align-items:center}.portal-msg-input-row{align-items:flex-end}.portal-msg-input{resize:none;min-height:54px}.portal-msg-send-btn{height:54px;width:54px;flex-shrink:0;font-size:1.1rem;display:flex;align-items:center;justify-content:center;padding:0;border-radius:10px}.portal-save-status{font-size:.85rem;font-weight:600;color:#4ade80}.portal-save-status.error{color:#f87171}.portal-shell .form-check-input:checked{background-color:#9d4edd;border-color:#9d4edd}.portal-shell .form-check-input:focus{box-shadow:0 0 0 .2rem rgba(157,78,221,.25)}.portal-special-song-row .portal-input{font-size:.875rem}.portal-special-song-row .pm-remove-special-song{flex-shrink:0;border-color:rgba(248,113,113,.3);color:#f87171;padding:4px 8px}.portal-special-song-row .pm-remove-special-song:hover{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.6);color:#f87171}.notes-editor{min-height:180px;background:#1c1c1c;border:1px solid rgba(255,255,255,.12);border-top:none;border-radius:0 0 8px 8px;padding:10px 14px;color:rgba(255,255,255,.88);font-size:.9rem;line-height:1.7;outline:0;cursor:text;user-select:text;-webkit-user-select:text;pointer-events:auto;position:relative;z-index:1;font-weight:400!important}.notes-editor:focus{border-color:rgba(255,255,255,.25);box-shadow:0 0 0 2px rgba(199,125,255,.15)}.notes-editor:empty::before{content:attr(data-placeholder);color:rgba(255,255,255,.25);pointer-events:none}.notes-editor ol,.notes-editor ul{padding-left:1.5em;margin:.3em 0}.notes-editor li,.notes-preview ul li{margin-bottom:2px}.notes-editor b,.notes-editor strong{font-weight:700!important;color:#fff}.notes-editor em,.notes-editor i{font-style:italic!important;color:rgba(255,255,255,.85)}.notes-editor u{text-decoration:underline!important}.portal-admin-input.notes-editor{background:#1e1800;border-color:rgba(255,193,7,.2)}.portal-admin-input.notes-editor:focus{border-color:rgba(255,193,7,.4);box-shadow:0 0 0 2px rgba(255,193,7,.1)}.notes-toolbar{display:flex;align-items:center;gap:2px;background:#1a1a1a;border:1px solid rgba(255,255,255,.12);border-radius:8px 8px 0 0;padding:4px 8px}.notes-toolbar button{background:0 0;border:none;color:rgba(255,255,255,.55);font-size:.8rem;padding:3px 8px;border-radius:4px;cursor:pointer;line-height:1;transition:background .15s,color .15s}.notes-toolbar button.active,.notes-toolbar button:hover{background:rgba(255,255,255,.1);color:#fff}.notes-toolbar-sep{width:1px;height:16px;background:rgba(255,255,255,.15);margin:0 4px}.notes-preview{min-height:80px;background:#1e1e1e;border:1px solid rgba(255,255,255,.12);border-top:none;border-radius:0 0 8px 8px;padding:12px 14px;color:rgba(255,255,255,.85);font-size:.9rem;line-height:1.7}.notes-preview h3{color:#c77dff;font-size:1rem;font-weight:700;margin:.8em 0 .3em}.notes-preview strong{color:#fff}.notes-preview em{color:rgba(255,255,255,.7)}.notes-preview ul{padding-left:1.4em;margin:.4em 0}.notes-preview p{margin:0 0 .6em}.notes-preview--admin h3{color:#ffc107}.pe-color-row{align-items:center;position:relative}.pe-color-chip-wrap{position:relative;width:38px;min-width:38px;height:38px;border-radius:8px;cursor:pointer;border:2px solid rgba(255,255,255,.15);transition:border-color .2s,box-shadow .2s;flex-shrink:0}.pe-color-chip-wrap:hover{border-color:rgba(255,255,255,.55);box-shadow:0 0 0 3px rgba(255,255,255,.1)}.pe-color-chip{width:100%;height:100%;display:block;border-radius:6px}.pe-color-hex-display{font-family:'Courier New',Courier,monospace;font-size:.78rem;color:rgba(255,255,255,.5);letter-spacing:.5px;min-width:68px;flex-shrink:0;user-select:all}.pe-picker-popup{display:none;position:absolute;top:calc(100% + 8px);left:0;z-index:9999;background:#1e1e1e;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:14px;width:220px;box-shadow:0 12px 40px rgba(0,0,0,.7);flex-direction:column;gap:10px}.pe-picker-sv{width:192px;height:140px;border-radius:6px;cursor:crosshair;display:block;flex-shrink:0}.pe-picker-hue{width:192px;height:14px;border-radius:7px;cursor:pointer;display:block;flex-shrink:0;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.pe-picker-hue-track{position:relative;height:14px}.pe-picker-hue-thumb{position:absolute;top:-3px;width:20px;height:20px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.6);transform:translateX(-50%);pointer-events:none;transition:left 20ms linear}.pe-picker-sv-wrap{position:relative}.pe-picker-sv-cursor{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 3px rgba(0,0,0,.7);transform:translate(-50%,-50%);pointer-events:none}.pe-picker-hex-row{display:flex;align-items:center;gap:8px}.pe-picker-preview{width:28px;height:28px;border-radius:6px;flex-shrink:0;border:1px solid rgba(255,255,255,.15)}.pe-picker-hex-inp{flex:1;background:#2a2a2a!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;border-radius:6px!important;padding:4px 8px!important;font-family:'Courier New',Courier,monospace;font-size:.82rem;text-transform:uppercase}.pe-picker-hex-inp:focus{border-color:rgba(255,255,255,.35)!important;outline:0;box-shadow:none!important}.portal-qr-desc{font-size:.9rem;color:rgba(255,255,255,.7)}.portal-url-label{font-size:.8rem;color:rgba(255,255,255,.5)}.portal-url-display{font-size:.82rem;color:#60a5fa;word-break:break-all;text-decoration:none}.portal-url-display:hover{color:#93c5fd;text-decoration:underline}#sched-lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);cursor:zoom-out;overflow:auto}#sched-lightbox-close{background:0 0;border:none;color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}#sched-lightbox-img{max-width:100%;border-radius:8px;cursor:default;pointer-events:auto}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}.request-card{background:var(--dark-card,#1a1a1a);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.5)}.request-icon{font-size:3rem;color:var(--primary-color,#9d4edd);display:block}.card-title{color:#fff;font-family:Poppins,sans-serif;font-weight:700}.card-subtitle{color:rgba(255,255,255,.6);font-size:.95rem}.request-input{background:#252525;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;font-size:1.1rem;padding:14px 18px;text-align:center;text-transform:uppercase;letter-spacing:1px}.request-input:focus{background:#2a2a2a;border-color:var(--primary-color,#9d4edd);box-shadow:0 0 0 .2rem rgba(157,78,221,.25);color:#fff}.request-input::placeholder{color:rgba(255,255,255,.3);text-transform:none;letter-spacing:normal}.btn-primary{background:linear-gradient(135deg,#9d4edd 0,#7b2cbf 100%);border:none}.request-hint{color:rgba(255,255,255,.4);font-size:.8rem}.request-hint i{color:rgba(255,255,255,.3)}.footer{background-color:#000!important;border-top:1px solid rgba(255,255,255,.1)}.footer .text-muted{color:rgba(255,255,255,.5)!important;font-size:.85rem}.invalid-feedback{display:none;font-size:.85rem}.form-control.is-invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-feedback{display:block}:root{--primary-color:#9d4edd;--primary-hover:#7b2cbf;--dark-bg:#111111;--dark-card:#1a1a1a;--text-dark:#1a1a1a;--text-light:#ffffff;--accent-purple:#c77dff}body{font-family:'Open Sans',sans-serif;color:var(--text-dark);background-color:#111;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif;font-weight:700}.navbar-brand{font-family:Poppins,sans-serif;font-size:1.5rem;font-weight:900;letter-spacing:-1px;text-transform:uppercase}.navbar{background-color:#000!important;box-shadow:0 2px 20px rgba(0,0,0,.5);padding:.8rem 0}.navbar .d-flex.gap-2{align-items:center}.nav-link{font-family:Poppins,sans-serif;font-weight:600;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase;transition:color .3s}.nav-link:hover,.social-links a:hover,footer a:hover{color:var(--accent-purple)!important}.logo-placeholder{width:45px;height:45px;background:var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:#fff}.btn-primary{background:var(--primary-color);border-color:var(--primary-color);transition:.3s;font-family:Poppins,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;border-radius:8px;padding:.75rem 2rem}.btn-primary:hover{background:linear-gradient(135deg,#b06bf0 0,#9332d6 100%);background:var(--accent-purple);border-color:var(--accent-purple);transform:translateY(-2px);box-shadow:0 8px 25px rgba(157,78,221,.4)}.btn-outline-light{font-family:Poppins,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;border-radius:8px;border:2px solid rgba(255,255,255,.7);transition:.3s}.btn-outline-light:hover{background:var(--primary-color);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 8px 25px rgba(157,78,221,.3);color:#fff}.hero-section{background:linear-gradient(to bottom,rgba(0,0,0,.6) 0,rgba(0,0,0,.8) 100%) fixed,url('https://images.unsplash.com/photo-1493225457124-a3eb161ffa5f?w=1200&h=600&fit=crop') center/cover fixed;min-height:650px;display:flex;align-items:center;justify-content:center;position:relative}.hero-section>div{position:relative;z-index:1}.hero-section h1{font-family:Poppins,sans-serif;font-weight:900;font-size:4rem;letter-spacing:-2px;margin-bottom:1.5rem;text-transform:uppercase;line-height:1.1;color:#fff;text-shadow:0 2px 30px rgba(157,78,221,.4)}.hero-section .lead{font-family:Poppins,sans-serif;font-size:1.3rem;font-weight:400;opacity:.9;margin-bottom:2.5rem;letter-spacing:1px}#about{background-color:#1a1a1a;padding:80px 0}#about h2{font-family:Poppins,sans-serif;font-size:2.5rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:2rem;color:#fff}#about p{font-family:'Open Sans',sans-serif;font-size:1.05rem;line-height:1.8;color:rgba(255,255,255,.7)}.about-image-placeholder{width:100%;height:400px;background:var(--primary-color);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:6rem;color:rgba(255,255,255,.2);transition:transform .3s}.about-image-placeholder:hover{transform:translateY(-4px)}#services{background-color:#111;padding:80px 0}#services h2{color:#fff;font-size:2.5rem;text-transform:uppercase;letter-spacing:1px;font-family:Poppins,sans-serif;font-weight:900}.service-card-link{display:block;text-decoration:none;height:100%;cursor:pointer}.service-card-custom{border:2px dashed rgba(157,78,221,.5)!important;background:#1a1a1a!important}.service-card-custom:hover{border-color:var(--accent-purple)!important}.service-icon-custom{background:var(--primary-hover)!important}.service-card{background:#1a1a1a;border-radius:12px;padding:2.5rem;text-align:center;transition:.3s;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column}.service-card .service-description{flex:1}.service-card:hover{border-color:var(--primary-color);transform:translateY(-8px);box-shadow:0 20px 40px rgba(157,78,221,.2)}.service-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;transition:.3s}.service-card:hover .service-icon{transform:scale(1.1);background:var(--accent-purple)}.service-card h4{color:#fff;font-family:Poppins,sans-serif;font-weight:700;font-size:1.15rem;text-transform:uppercase;letter-spacing:.5px;margin-top:.5rem}.service-card .service-description{color:rgba(255,255,255,.65)!important;font-family:'Open Sans',sans-serif;font-size:.95rem;line-height:1.6;font-weight:400;flex:1}.service-card p{color:rgba(255,255,255,.65);font-family:'Open Sans',sans-serif;font-size:.95rem;line-height:1.6}.price{font-family:Poppins,sans-serif;font-size:1.5rem;color:var(--accent-purple);font-weight:800;margin-top:1.5rem}.services-marquee-wrapper{position:relative;width:100%;padding:.5rem 0 2rem}.services-marquee-viewport{overflow:hidden;width:100%}.services-marquee-track{display:flex;flex-wrap:nowrap;gap:20px;width:max-content;padding:1rem 0 2rem;will-change:transform}.services-marquee-animate{animation:60s linear infinite marqueeScroll}.services-marquee-animate:hover{animation-play-state:paused}@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.services-marquee-track .service-card{flex:0 0 340px;min-width:340px;width:340px}.marquee-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:20;background:var(--primary-color);border:none;color:#fff;width:54px;height:54px;border-radius:50%;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 24px rgba(157,78,221,.55);transition:.3s}.marquee-arrow:hover{background:var(--accent-purple);transform:translateY(-50%) scale(1.12);box-shadow:0 8px 32px rgba(157,78,221,.7)}.marquee-arrow-left{left:16px}.marquee-arrow-right{right:16px}.about-hero{background:linear-gradient(135deg,rgba(10,14,39,.8) 0,rgba(26,26,62,.8) 100%),url('https://images.unsplash.com/photo-1516450360452-9312f5e86fc7?w=1400&h=400&fit=crop') center/cover;min-height:280px;display:flex;align-items:center;justify-content:center}.services-hero{display:flex;align-items:center;justify-content:center}.book-hero{background:linear-gradient(135deg,rgba(10,14,39,.8) 0,rgba(157,78,221,.4) 100%),url('https://images.unsplash.com/photo-1470229722913-7c0e2dbbafd3?w=1400&h=400&fit=crop') center/cover;min-height:280px;display:flex;align-items:center;justify-content:center}.about-stat{padding:2rem 1rem}.about-stat-icon{width:70px;height:70px;background:linear-gradient(135deg,var(--primary-color),var(--accent-purple));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#fff;margin:0 auto;box-shadow:0 8px 20px rgba(157,78,221,.3)}.about-feature-card{background:linear-gradient(135deg,var(--dark-card) 0,#1a1f3a 100%);border:2px solid rgba(157,78,221,.3);border-radius:16px;padding:2.5rem 2rem;color:#fff;transition:.3s}.about-feature-card:hover{border-color:var(--primary-color);transform:translateY(-6px);box-shadow:0 16px 40px rgba(157,78,221,.2)}.about-feature-card i{font-size:2.5rem;color:var(--accent-purple)}.about-feature-card h5{color:#fff;font-family:Montserrat,sans-serif}.about-feature-card p{color:rgba(255,255,255,.75);font-size:.95rem;margin-bottom:0}#contact{background-color:#f5f5f5;padding:80px 0}#contact h2{font-family:Poppins,sans-serif;font-size:2.5rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dark);margin-bottom:3rem}.contact-form-wrapper{background:#fff;padding:3rem;border-radius:12px;border-left:4px solid var(--primary-color);box-shadow:0 4px 20px rgba(0,0,0,.08)}.form-control,.form-select{background:#fff;border:1px solid #ddd;border-radius:8px;padding:.875rem 1.25rem;transition:border-color .3s;font-family:'Open Sans',sans-serif;color:#333}.form-control::placeholder{color:#999}.form-select option{background:#fff;color:#333}.form-control:focus,.form-select:focus{background:#fff;border-color:var(--primary-color);box-shadow:0 0 0 .2rem rgba(157,78,221,.15);color:#333}.form-label{font-family:Poppins,sans-serif;font-weight:600;text-transform:uppercase;color:#333;margin-bottom:.75rem;font-size:.85rem;letter-spacing:.5px}footer{background-color:#000!important;padding:60px 0 30px}footer h5{font-family:Poppins,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff;margin-bottom:1.5rem}footer .text-muted,footer a,footer a.text-muted,footer li a,footer p,footer p.text-muted{font-family:'Open Sans',sans-serif;font-size:.95rem;color:rgba(255,255,255,.5)!important}footer a{transition:color .3s}.social-links a,.social-links a.text-muted{font-size:1.8rem;color:rgba(255,255,255,.5)!important;transition:color .3s}@media (max-width:768px){.booking-card{padding:24px 16px}.step-label{display:none}.step-line{max-width:30px}.booking-title{font-size:1.5rem}.service-card{flex:0 0 280px;min-width:280px}.marquee-arrow{width:40px;height:40px;font-size:1.1rem}.hero-section{min-height:400px}.hero-section h1{font-size:2rem}.hero-section .lead{font-size:1.1rem}.about-image-placeholder{height:300px;margin-bottom:2rem}.contact-form-wrapper{padding:2rem}}.testimonial-card{cursor:pointer}.testimonial-card:hover{border-color:var(--primary-color)!important;transform:translateY(-6px);box-shadow:0 15px 30px rgba(157,78,221,.2)!important}.services-hero{position:relative;background:linear-gradient(to bottom,rgba(0,0,0,.5) 0,rgba(0,0,0,.8) 100%),url('https://images.unsplash.com/photo-1571266028243-e4735e57e5fa?w=1400&h=400&fit=crop') center/cover;min-height:280px;display:flex;align-items:center;justify-content:center}.services-hero h1{font-family:Poppins,sans-serif;color:#fff}html{scroll-behavior:smooth}