#portal-booking-form{font-family:'Lato',sans-serif}#portal-booking-form h3,.step-indicator li{font-family:'Syne',sans-serif}#portal-booking-form{max-width:680px;margin:40px auto;padding:28px 30px;background:#fff;border-radius:18px;box-shadow:0 20px 45px rgba(0,0,0,.1)}.step-indicator{display:flex;gap:10px;margin-bottom:28px;padding:0}.step-indicator li{list-style:none;flex:1;padding:8px 10px;font-size:13px;font-weight:600;text-align:center;border-radius:999px;background:#f3f3f3;color:#999}.step-indicator li.active{background:#d97089;color:#fff}#portal-booking-form label{font-size:13px;font-weight:600;color:#111;margin-bottom:6px;display:block}#portal-booking-form select,#portal-booking-form input{width:100%;padding:11px 14px;font-size:14px;border-radius:10px;border:1px solid #e4e4e4;background:#fafafa;margin-bottom:18px;transition:.2s}#portal-booking-form select:focus,#portal-booking-form input:focus{outline:none;background:#fff;border-color:#d97089;box-shadow:0 0 0 3px rgba(217,112,137,.18)}#sessions-addons,#addons{padding:18px;border-radius:14px;background:#fafafa;border:1px solid #eee;margin-bottom:22px}#addons{padding:18px 16px;border-radius:14px;background:#fafafa;border:1px solid #eee;margin-bottom:22px}#addon-checkboxes{display:flex;flex-direction:column;gap:0}#addon-checkboxes label{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid #eee;background:#fff;font-size:13px;cursor:pointer;transition:.2s}#addon-checkboxes label:hover{background:rgba(217,112,137,.1);border-color:#d97089}#addon-checkboxes input[type=checkbox]{transform:scale(1.2);margin-left:8px;width:auto;margin-bottom:0}#addon-checkboxes label span{font-weight:600;color:#d97089;margin-left:8px}#portal-booking-form button{width:100%;padding:12px;font-size:14px;font-weight:600;border-radius:999px;border:none;background:#d97089;color:#fff;cursor:pointer;transition:.25s}#portal-booking-form button:hover{background:#c65f77}#step2-form h3{font-size:20px;text-align:center;margin-bottom:22px}#booking-success{margin-top:22px;padding:14px;font-size:14px;text-align:center;border-radius:12px;background:rgba(217,112,137,.15);color:#d97089}@media (max-width:600px){#portal-booking-form{padding:22px}}#portal-login-form,#portal-register-form{max-width:420px;margin:40px auto;padding:28px 32px;background:#fff;border-radius:18px;box-shadow:0 20px 45px rgba(0,0,0,.08);font-family:'Lato',sans-serif}#portal-login-form h3,#portal-register-form h3{font-family:'Syne',sans-serif;font-size:22px;text-align:center;margin-bottom:28px;color:#111}#portal-login-form input,#portal-register-form input{width:100%;padding:12px 14px;margin-bottom:18px;border-radius:10px;border:1px solid #e4e4e4;background:#fafafa;font-size:14px;transition:.25s}#portal-login-form input:focus,#portal-register-form input:focus{outline:none;background:#fff;border-color:#d97089;box-shadow:0 0 0 3px rgba(217,112,137,.15)}#portal-login-form button,#portal-register-form button{width:100%;padding:14px;font-size:14px;font-weight:600;border-radius:999px;border:none;cursor:pointer;color:#fff;background:#d97089;transition:.25s}#portal-login-form button:hover,#portal-register-form button:hover{background:#c65f77;transform:translateY(-2px)}#login-error,#register-error,#register-success{font-size:13px;margin-top:12px;text-align:center}@media (max-width:500px){#portal-login-form,#portal-register-form{padding:20px 22px;margin:30px 15px}}.portal-dashboard{max-width:900px;margin:40px auto;background:#fff;border-radius:14px;box-shadow:0 15px 40px rgba(0,0,0,.1);padding:30px;font-family:'Lato'}.portal-tabs{display:flex;gap:10px;margin-bottom:25px}.portal-tab{flex:1;padding:12px;background:#f2f2f2;border:none;border-radius:10px;cursor:pointer;font-weight:600;transition:.3s;font-family:'Syne'}.portal-tab.active{background:#f0d656;color:#000}.portal-tab-content{display:none}.portal-tab-content.active{display:block}.portal-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.08);font-family:"Inter",system-ui,-apple-system,sans-serif}.portal-table thead th{background:#d97089;color:#fff;font-weight:600;text-transform:uppercase;font-size:13px;letter-spacing:.6px;padding:14px 16px;border:none}.portal-table tbody tr{transition:all .25s ease}.portal-table tbody tr:nth-child(even){background:#f9fbfd}.portal-table tbody tr:hover{background:#eef6ff;transform:scale(1.01)}.portal-table td{padding:14px 16px;font-size:14px;color:#333;border-bottom:1px solid #e9eef3;vertical-align:middle}.portal-table tbody tr:last-child td{border-bottom:none}.portal-table .view-media-btn{background:linear-gradient(135deg,#d97089,#f0d656);color:#000;border:none;padding:8px 14px;font-size:13px;font-weight:600;border-radius:30px;cursor:pointer;transition:all .25s ease}.portal-table .view-media-btn:hover{transform:translateY(-2px)}@media (max-width:768px){.portal-table thead{display:none}.portal-table tr{display:block;margin-bottom:15px;border-radius:12px;box-shadow:0 5px 20px rgba(0,0,0,.08);overflow:hidden}.portal-table td{display:flex;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #eee}.portal-table td:before{content:attr(data-label);font-weight:600;color:#666;font-size:13px}}.portal-profile-card{background:#fff;border-radius:14px;padding:25px;max-width:100%;box-shadow:0 15px 40px rgba(0,0,0,.08);animation:fadeInUp .4s ease}.portal-profile-header{display:flex;align-items:center;gap:15px;margin-bottom:20px}.portal-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#d04a77,#d3557f);display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;font-weight:700;text-transform:uppercase;box-shadow:0 8px 20px rgba(0,115,170,.4)}.portal-profile-info h3{margin:0;font-size:20px;color:#222}.portal-profile-info span{font-size:13px;color:#777}.portal-profile-details{border-top:1px solid #eef2f7;padding-top:15px}.profile-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px dashed #e4e8ee}.profile-item:last-child{border-bottom:none}.profile-item span{font-size:13px;color:#666;text-transform:uppercase;letter-spacing:.5px}.profile-item strong{font-size:14px;color:#111}@keyframes fadeInUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.portal-tab-content a,.portal-tab-content th,.portal-tab-content button,.portal-tab-content h3{font-family:'Syne'}.portal-logout-btn{display:inline-block;padding:12px 25px;background:#d9534f;color:#fff;border-radius:10px;text-decoration:none}#portal-media-modal{position:fixed;top:0;left:0;width:100%;height:100%;display:none;z-index:9999;font-family:'Inter',sans-serif}#portal-media-modal .media-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8)}#portal-media-modal .media-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:20px;max-width:90%;max-height:80%;overflow:auto;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.25)}#portal-media-modal .media-close{position:absolute;top:10px;right:15px;cursor:pointer;font-size:28px;font-weight:700;color:#333;transition:.2s}#portal-media-modal .media-close:hover{color:#f0d656}#portal-media-modal .media-controls{text-align:left;margin-bottom:10px}#portal-media-modal .media-controls button{background:linear-gradient(135deg,#d97089,#f0d656);color:#000;border:none;padding:8px 14px;font-size:13px;font-weight:600;border-radius:30px;cursor:pointer;transition:all .25s ease;font-family:'Syne'}#portal-media-modal .media-controls button:hover{background:#d4b500}.media-content{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.media-item{position:relative;flex:1 1 calc(33% - 20px);max-width:300px}.media-item img,.media-item video{width:100%;height:160px !important;object-fit:cover;border-radius:8px;box-shadow:0 5px 20px rgba(0,0,0,.15);transition:transform .3s}.media-item:hover img,.media-item:hover video{transform:scale(1.03)}.media-overlay-icons{position:absolute;top:8px;right:8px;display:flex;gap:8px}.media-overlay-icons span{background:rgba(0,0,0,.6);color:#fff;padding:4px 6px;border-radius:6px;cursor:pointer;font-size:16px;transition:.2s}.media-overlay-icons span:hover{background:#f0d656;color:#000}