@import url('https://fonts.googleapis.com/css2?family=Actor&display=swap');

:root{
  --ice:#E3F2FD;
  --sky:#90CAF9;
  --blue:#2196F3;
  --navy:#0D47A1;
  --navy2:#083875;
  --ink:#102A43;
  --muted:#627D98;
  --line:#D9E8F5;
  --bg:#F8FBFF;
  --white:#fff;
  --green:#15803D;
  --greenbg:#EAF8EF;
  --amber:#A15C00;
  --amberbg:#FFF4D8;
  --red:#B42318;
  --redbg:#FEECEB;
  --shadow:0 24px 60px rgba(13,71,161,.12);
  --shadow-sm:0 12px 32px rgba(13,71,161,.09);
  --r:22px;
  --rs:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Actor','Segoe UI',sans-serif;line-height:1.5}
button,input,select,textarea{font:inherit}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{cursor:pointer}

.container{width:min(1180px,calc(100% - 40px));margin:auto}
.section{padding:88px 0}
.section.soft{background:linear-gradient(180deg,#fff,var(--ice))}
.section-title{font-size:clamp(32px,4vw,52px);line-height:1.05;margin:0 0 12px;color:var(--navy)}
.section-lede{font-size:18px;color:var(--muted);max-width:720px;margin:0 0 34px}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);font-weight:700;margin:0 0 12px}

.topbar{position:sticky;top:0;z-index:50;padding:12px 0;background:rgba(248,251,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(13,71,161,.07)}
.nav{height:68px;background:#fff;border-radius:20px;display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 20px;box-shadow:0 6px 24px rgba(13,71,161,.07)}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:190px;height:56px;object-fit:contain;object-position:left center}
.navlinks{display:flex;align-items:center;gap:30px;font-size:14px;color:#31557F}
.navlinks a:hover{color:var(--navy)}
.nav-actions{display:flex;align-items:center;gap:10px}
.btn{border:0;border-radius:13px;background:var(--navy);color:#fff;font-weight:700;padding:14px 21px;display:inline-flex;gap:9px;align-items:center;justify-content:center;transition:.2s;box-shadow:0 8px 18px rgba(13,71,161,.18)}
.btn:hover{transform:translateY(-1px);background:var(--navy2)}
.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:none}
.btn.secondary:hover{border-color:var(--sky);background:var(--ice)}
.btn.sky{background:var(--blue)}
.btn.danger{background:var(--red)}
.btn.small{padding:10px 14px;border-radius:10px;font-size:14px}
.btn.full{width:100%}
.icon-btn{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:12px;width:42px;height:42px;display:none;align-items:center;justify-content:center}

.hero{padding:20px 0 34px}
.hero-shell{position:relative;overflow:hidden;border-radius:32px;background:linear-gradient(115deg,#F9FDFF 0%,#E5F4FF 55%,#CBE8FF 100%);min-height:600px;padding:64px 58px;box-shadow:var(--shadow)}
.hero-shell::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(33,150,243,.10);right:-120px;top:-170px}
.hero-shell::after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(13,71,161,.10);border-radius:50%;right:340px;bottom:-130px}
.hero-copy{width:52%;position:relative;z-index:3}
.hero-copy h1{font-size:clamp(52px,6vw,82px);line-height:.93;letter-spacing:-.045em;margin:0 0 16px;color:var(--navy)}
.hero-tag{font-size:25px;color:var(--navy2);font-weight:700;margin:0 0 14px}
.hero-copy .intro{font-size:18px;color:#456987;max-width:600px;margin:0 0 28px}
.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}
.hero-people{position:absolute;right:0;bottom:0;width:49%;height:94%;z-index:2}
.person-card{position:absolute;overflow:hidden;border-radius:200px 200px 28px 28px;border:7px solid rgba(255,255,255,.72);box-shadow:0 24px 55px rgba(13,71,161,.18);background:#DCE7EF}
.person-card img{width:100%;height:100%;object-fit:cover;object-position:center 16%}
.person-card.female{width:330px;height:510px;right:265px;bottom:-28px;z-index:3}
.person-card.male{width:350px;height:560px;right:12px;bottom:15px;z-index:2}
.hero-quote{position:absolute;right:20px;top:42px;z-index:5;width:180px;color:var(--navy);font-size:19px;font-weight:700;transform:rotate(-4deg)}
.quickfacts{margin-top:22px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.qf{background:#fff;border:1px solid #E6F0F8;border-radius:18px;padding:18px;display:flex;gap:12px;align-items:center;box-shadow:var(--shadow-sm)}
.qf .ico{width:44px;height:44px;border-radius:12px;background:var(--ice);display:grid;place-items:center;color:var(--navy);font-size:22px}
.qf b{display:block;color:var(--navy)}
.qf span{font-size:13px;color:var(--muted)}

.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative}
.jcard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px;box-shadow:var(--shadow-sm);position:relative}
.jcard .num{font-size:13px;color:var(--blue);font-weight:700;letter-spacing:.12em}
.jtop{display:flex;align-items:center;gap:14px;margin:7px 0 17px}
.office-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:25px}
.office-icon.excel{background:#16834D}.office-icon.word{background:#2B579A}.office-icon.ppt{background:#D24726}
.jcard h3{margin:0;color:var(--navy);font-size:25px}
.checklist{list-style:none;padding:0;margin:0;display:grid;gap:9px;color:#3A5878;font-size:15px}
.checklist li::before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--ice);color:var(--navy);font-size:12px;font-weight:800;margin-right:8px}

.session-grid{display:grid;grid-template-columns:1fr 1fr .9fr;gap:18px}
.session-card,.info-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow-sm)}
.session-card.selected{border:2px solid var(--blue);background:linear-gradient(180deg,#fff,#F2FAFF)}
.session-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.session-head .emoji{font-size:36px}
.session-card h3{margin:8px 0 3px;color:var(--navy);font-size:25px}
.session-time{font-size:18px;color:#355A7D;font-weight:700}
.seatline{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin:20px 0 8px}
.meter{height:8px;background:#E5F0F8;border-radius:99px;overflow:hidden;margin-bottom:18px}
.meter span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--navy));border-radius:inherit}
.info-row{display:flex;gap:12px;margin-bottom:20px}.info-row:last-child{margin-bottom:0}
.info-row .ico{font-size:21px}.info-row b{display:block;color:var(--navy)}.info-row span{color:var(--muted);font-size:14px}

.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.feature{background:#fff;border-radius:18px;padding:24px;border:1px solid var(--line);text-align:center}
.feature .circle{width:54px;height:54px;border-radius:16px;background:var(--ice);display:grid;place-items:center;margin:0 auto 14px;font-size:25px}.feature h4{color:var(--navy);margin:0 0 6px}.feature p{color:var(--muted);font-size:14px;margin:0}

.programme-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:start}
.week-tabs{display:flex;gap:10px;margin-bottom:16px}
.week-tabs button{border:1px solid var(--line);background:#fff;color:var(--navy);padding:11px 16px;border-radius:12px;font-weight:700}.week-tabs button.active{background:var(--navy);color:#fff}
.accordion{display:grid;gap:10px}
.acc{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.acc button{width:100%;background:#fff;border:0;text-align:left;padding:17px 18px;display:flex;justify-content:space-between;gap:18px;color:var(--navy);font-weight:700}.acc .body{display:none;padding:0 18px 18px;color:var(--muted);font-size:14px}.acc.open .body{display:block}.acc .body ul{margin:10px 0 0;padding-left:20px}
.quote-card{background:linear-gradient(145deg,var(--navy),#176DC0);border-radius:24px;color:#fff;padding:38px;min-height:320px;display:flex;flex-direction:column;justify-content:space-between;position:sticky;top:110px}.quote-card blockquote{font-size:31px;line-height:1.12;margin:0}.quote-card p{color:#D7ECFF;margin:0}

.venue-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.venue-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow-sm)}.venue-visual{min-height:340px;border-radius:22px;background:linear-gradient(130deg,var(--navy),var(--blue));padding:36px;color:#fff;position:relative;overflow:hidden}.venue-visual::after{content:"PSSSF";position:absolute;font-size:120px;font-weight:900;opacity:.06;right:-15px;bottom:-22px}.venue-visual h3{font-size:35px;margin:0 0 14px}.venue-visual p{font-size:18px;color:#D8EDFF}

.faq{display:grid;gap:10px}.faq .acc button{font-size:16px}.faq .acc .body{font-size:15px}
.cta-band{background:linear-gradient(100deg,#0A3B85,#0D67C6);color:#fff;border-radius:26px;padding:38px 42px;display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-band h3{font-size:31px;margin:0 0 6px}.cta-band p{margin:0;color:#D9EEFF}
footer{padding:42px 0 26px;background:#fff}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px}.footer-grid img{width:200px}.footer-grid h4{color:var(--navy);margin:0 0 12px}.footer-grid p,.footer-grid a{color:var(--muted);font-size:14px}.copyright{border-top:1px solid var(--line);margin-top:32px;padding-top:18px;color:var(--muted);font-size:13px;display:flex;justify-content:space-between}

/* Booking */
.app-shell{min-height:100vh;background:linear-gradient(180deg,var(--ice),var(--bg) 260px)}
.simple-head{padding:20px 0}.simple-head .inner{display:flex;align-items:center;justify-content:space-between}.simple-head img{width:205px}
.booking-layout{width:min(980px,calc(100% - 30px));margin:12px auto 70px}
.progress-card{background:#fff;border-radius:18px;border:1px solid var(--line);padding:22px 24px;margin-bottom:18px;box-shadow:var(--shadow-sm)}
.progress-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.pstep{position:relative}.pstep:not(:last-child)::after{content:"";position:absolute;left:42px;right:10px;top:18px;height:2px;background:var(--line)}.pstep.done:not(:last-child)::after{background:var(--blue)}.pnum{position:relative;z-index:2;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--line);color:var(--muted);font-weight:700}.pstep.active .pnum,.pstep.done .pnum{background:var(--navy);color:#fff;border-color:var(--navy)}.plabel{font-size:12px;color:var(--muted);margin-top:8px}.pstep.active .plabel{color:var(--navy);font-weight:700}
.booking-card{background:#fff;border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow);padding:34px}.booking-card h1{font-size:40px;color:var(--navy);line-height:1.05;margin:0 0 10px}.booking-card .lead{color:var(--muted);margin:0 0 28px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.choice{border:1px solid var(--line);background:#fff;border-radius:18px;padding:22px;text-align:left;transition:.2s}.choice:hover,.choice.selected{border-color:var(--blue);box-shadow:0 12px 30px rgba(33,150,243,.12);transform:translateY(-1px)}.choice.selected{background:#F2FAFF}.choice h3{font-size:24px;color:var(--navy);margin:5px 0}.choice .time{font-size:18px;color:#355A7D;font-weight:700}.booking-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);margin-top:28px;padding-top:22px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field.full{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;color:#335C83;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#F9FCFF;border-radius:12px;padding:13px 14px;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(33,150,243,.10);background:#fff}.field textarea{min-height:90px;resize:vertical}.hint{font-size:13px;color:var(--muted);margin-top:6px}.seat-picker{display:flex;align-items:center;justify-content:space-between;background:var(--ice);border-radius:15px;padding:16px;margin-bottom:22px}.stepper{display:flex;align-items:center;gap:7px}.stepper button{width:39px;height:39px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:20px}.stepper span{min-width:32px;text-align:center;font-weight:700;font-size:18px}.participant{border:1px solid var(--line);border-radius:15px;padding:18px;margin-top:14px}.participant h4{color:var(--navy);margin:0 0 14px}
.review{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.summary-card,.pay-card{border:1px solid var(--line);border-radius:18px;padding:22px}.summary-card h3,.pay-card h3{color:var(--navy);margin-top:0}.dl{display:grid;gap:12px}.dl .rowx{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #EDF3F8;padding-bottom:10px}.dl .rowx span:first-child{color:var(--muted)}.dl .rowx b{text-align:right;color:var(--ink)}.total{font-size:28px;color:var(--navy);font-weight:800;margin-top:16px}.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payment-option{border:1px solid var(--line);border-radius:15px;padding:15px;background:#fff;min-height:130px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.payment-option img{height:52px;max-width:160px;object-fit:contain}.payment-option.selected{border:2px solid var(--blue);background:#F4FBFF}.pay-details{margin-top:16px;background:var(--ice);border-radius:14px;padding:16px}.copyline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.copyline code{font-size:17px;font-weight:700;color:var(--navy);word-break:break-all}.hold-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--amberbg);color:#704300;padding:14px 16px;border-radius:14px;margin-bottom:20px}.dropzone{border:2px dashed #B7D4EA;background:#F9FCFF;border-radius:16px;padding:24px;text-align:center}.dropzone input{margin-top:14px}.success{padding:20px;text-align:center}.bigcheck{width:78px;height:78px;border-radius:50%;background:var(--greenbg);color:var(--green);display:grid;place-items:center;font-size:38px;margin:0 auto 18px}.status-pill{display:inline-flex;padding:8px 13px;border-radius:999px;font-size:13px;font-weight:700}.status-pill.pending{background:var(--amberbg);color:var(--amber)}.status-pill.ok{background:var(--greenbg);color:var(--green)}.status-pill.bad{background:var(--redbg);color:var(--red)}.ref{font-size:25px;color:var(--navy);font-weight:800;letter-spacing:.04em}.message{border-radius:12px;padding:12px 14px;margin:14px 0;font-size:14px}.message.error{background:var(--redbg);color:var(--red)}.message.ok{background:var(--greenbg);color:var(--green)}

/* Participant portal */
.lookup{width:min(700px,calc(100% - 30px));margin:50px auto}.portal{width:min(1000px,calc(100% - 30px));margin:20px auto 70px}.portal-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:18px}.portal-nav,.portal-main{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow-sm)}.portal-nav h3{color:var(--navy)}.portal-menu{display:grid;gap:6px}.portal-menu button{border:0;background:#fff;text-align:left;padding:12px;border-radius:10px;color:#456987}.portal-menu button.active{background:var(--ice);color:var(--navy);font-weight:700}.timeline{display:grid;gap:0;margin-top:20px}.tline{display:grid;grid-template-columns:35px 1fr;gap:12px}.tmark{position:relative;width:24px;height:24px;border-radius:50%;background:#D7E5EF;margin-top:2px}.tline.done .tmark{background:var(--green)}.tline:not(:last-child) .tmark::after{content:"";position:absolute;top:24px;left:11px;height:42px;width:2px;background:#D7E5EF}.tcontent{padding-bottom:26px}.tcontent h4{margin:0;color:var(--navy)}.tcontent p{margin:3px 0 0;color:var(--muted);font-size:13px}

/* Admin */
.admin-shell{min-height:100vh;background:#F4F8FC}.admin-login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#EEF8FF,#DCEEFF)}.login-card{width:min(440px,calc(100% - 28px));background:#fff;border-radius:22px;padding:34px;box-shadow:var(--shadow)}.login-card img{width:220px;margin-bottom:24px}.admin-layout{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#0A3D89,#0D47A1);padding:22px 16px;color:#fff;position:sticky;top:0;height:100vh}.sidebar img{width:190px;filter:brightness(0) invert(1);margin:0 6px 28px}.side-menu{display:grid;gap:5px}.side-menu button{border:0;background:transparent;color:#D6E8FF;text-align:left;padding:12px 13px;border-radius:10px}.side-menu button.active,.side-menu button:hover{background:rgba(255,255,255,.12);color:#fff}.admin-main{padding:30px}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-top h1{color:var(--navy);margin:0}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.metric{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.metric span{font-size:13px;color:var(--muted)}.metric b{display:block;font-size:30px;color:var(--navy);margin-top:4px}.admin-panels{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;margin-top:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.panel h3{color:var(--navy);margin:0 0 16px}.cohortbar{display:grid;gap:15px}.cohortrow .top{display:flex;justify-content:space-between}.cohortrow .top b{color:var(--navy)}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{text-align:left;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);padding:10px}.data-table td{padding:12px 10px;border-bottom:1px solid #EEF4F8;white-space:nowrap}.data-table td:first-child{font-weight:700;color:var(--navy)}

.mobile-bookbar{display:none}
.reveal{opacity:0;transform:translateY(18px);transition:.6s ease}.reveal.in{opacity:1;transform:none}

@media(max-width:1000px){
  .navlinks{display:none}.icon-btn{display:flex}.hero-shell{padding:50px 34px;min-height:760px}.hero-copy{width:100%;max-width:650px}.hero-people{width:100%;height:410px}.person-card.female{width:250px;height:365px;left:calc(50% - 220px);right:auto}.person-card.male{width:270px;height:400px;right:calc(50% - 230px)}.hero-quote{display:none}.quickfacts{grid-template-columns:1fr 1fr}.session-grid{grid-template-columns:1fr 1fr}.info-card{grid-column:1/-1}.feature-grid{grid-template-columns:1fr 1fr}.programme-wrap,.venue-grid{grid-template-columns:1fr}.quote-card{position:static}.metrics{grid-template-columns:repeat(3,1fr)}.admin-panels{grid-template-columns:1fr}
}
@media(max-width:760px){
  .container{width:min(100% - 24px,1180px)}.section{padding:58px 0}.nav{height:62px}.brand img{width:165px}.nav-actions .btn{display:none}.hero{padding-top:8px}.hero-shell{padding:38px 22px;min-height:690px;border-radius:24px}.hero-copy h1{font-size:52px}.hero-tag{font-size:20px}.hero-copy .intro{font-size:16px}.hero-buttons .btn{width:100%}.hero-people{height:350px}.person-card.female{width:205px;height:310px;left:10px}.person-card.male{width:215px;height:330px;right:4px}.quickfacts{grid-template-columns:1fr 1fr;gap:9px}.qf{padding:13px}.qf .ico{width:37px;height:37px}.journey,.session-grid,.feature-grid{grid-template-columns:1fr}.jcard{padding:20px}.cta-band{padding:28px;display:block}.cta-band .btn{margin-top:18px;width:100%}.footer-grid{grid-template-columns:1fr}.copyright{display:block}.copyright span{display:block;margin-top:6px}.mobile-bookbar{display:flex;position:fixed;z-index:45;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:10px 12px;align-items:center;gap:12px;box-shadow:0 -8px 24px rgba(13,71,161,.12)}.mobile-bookbar .price{flex:1}.mobile-bookbar .price b{display:block;color:var(--navy)}.mobile-bookbar .price span{font-size:11px;color:var(--muted)}
  .booking-card{padding:24px 18px}.booking-card h1{font-size:32px}.choice-grid,.form-grid,.review,.payment-options{grid-template-columns:1fr}.progress-card{padding:16px 12px}.plabel{font-size:10px}.booking-actions{flex-direction:column-reverse}.booking-actions .btn{width:100%}.simple-head img{width:175px}.portal-grid{grid-template-columns:1fr}.portal-nav{display:none}.admin-layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px}.sidebar img{width:160px;margin-bottom:12px}.side-menu{grid-template-columns:repeat(3,1fr)}.side-menu button{font-size:12px;padding:9px}.admin-main{padding:18px}.metrics{grid-template-columns:1fr 1fr}.admin-top{align-items:flex-start;gap:12px}.admin-top h1{font-size:28px}
}
@media(max-width:470px){.hero-copy h1{font-size:45px}.hero-shell{min-height:660px}.quickfacts{grid-template-columns:1fr}.person-card.female{width:180px;height:280px}.person-card.male{width:190px;height:300px}.metrics{grid-template-columns:1fr}.side-menu{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* v1.4 booking-contact attendee sync */
.attending-toggle{display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#F8FBFE;cursor:pointer}
.attending-toggle input{width:19px;height:19px;margin-top:2px;accent-color:var(--blue);flex:0 0 auto}
.attending-toggle span{display:grid;gap:2px;color:var(--ink)}
.attending-toggle small{color:var(--muted);font-size:13px;line-height:1.45}
.synced-participant{background:#F8FBFE;border-color:#CFE3F2}
.synced-note{margin:-2px 0 14px}
.synced-participant input[readonly]{background:#EEF5FA;color:#526A80;cursor:not-allowed}

/* v1.5 reservation, multi-booking portal and admin improvements */
.progress-steps{grid-template-columns:repeat(5,1fr)}
.status-pill.danger{background:var(--redbg);color:var(--red)}
.choice-note{max-width:720px;margin:18px auto 0;padding:16px 18px;border:1px solid var(--line);background:var(--ice);border-radius:14px;text-align:left;color:var(--ink)}
.choice-note p{margin:5px 0 0;color:var(--muted)}
.payer-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.payer-options .payment-option{min-height:108px}
.payer-options .payment-option span{font-size:13px;color:var(--muted);font-weight:500}
.payer-icon{font-size:30px}
.payer-panel{border-top:1px solid var(--line);padding-top:16px;margin-top:10px}
.optional{font-size:11px;color:var(--muted);font-weight:500;text-transform:none;letter-spacing:0}
.portal-list-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:14px 0 22px}
.portal-list-head h1{color:var(--navy);margin:4px 0 8px;font-size:40px}
.booking-list{display:grid;gap:16px}
.booking-list-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow-sm)}
.booking-list-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.booking-list-top h3{margin:7px 0 5px;color:var(--navy);font-size:22px}
.booking-list-top p{margin:0;color:var(--muted)}
.booking-list-top .ref{font-size:14px;letter-spacing:.04em}
.booking-mini-grid{display:grid;grid-template-columns:2fr .7fr 1fr 1.4fr;gap:10px;margin-top:18px;padding:15px;background:var(--field);border-radius:14px}
.booking-mini-grid div{display:grid;gap:3px}
.booking-mini-grid span{font-size:12px;color:var(--muted)}
.booking-mini-grid b{font-size:14px;color:var(--ink)}
.booking-list-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:16px}
.panel-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.panel-head h3{margin-bottom:4px}.panel-head p{margin:0;color:var(--muted)}
.table-sub{font-size:12px;color:var(--muted);margin-top:3px}
.action-row{display:flex;gap:6px;flex-wrap:wrap;min-width:235px}

@media (max-width:760px){
  .progress-steps{grid-template-columns:repeat(5,1fr)}
  .progress-steps .plabel{font-size:8px;letter-spacing:-.01em}
  .payer-options,.booking-mini-grid{grid-template-columns:1fr}
  .portal-list-head{align-items:flex-start;flex-direction:column}
  .portal-list-head .btn{width:100%}
  .booking-list-top{flex-direction:column}
  .booking-list-actions .btn{width:100%}
}

/* v2.0 launch operations */
.session-card.session-closed{opacity:.72}.session-card button:disabled{cursor:not-allowed;opacity:.55}
.admin-user{position:absolute;left:16px;right:16px;bottom:18px;padding:13px;border-top:1px solid rgba(255,255,255,.15);display:grid;gap:3px}.admin-user b{font-size:13px}.admin-user span{font-size:11px;color:#BFD8F5;text-transform:capitalize}
.admin-top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.panel-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.panel-head h3{margin:0}.admin-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 170px 150px auto;gap:10px;margin-bottom:14px}.admin-search{background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;padding:0 12px;gap:8px}.admin-search input{border:0;outline:0;width:100%;padding:11px 0;font:inherit}.admin-toolbar select{border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 11px;color:var(--ink)}
.attention-row{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 13px;display:flex;justify-content:space-between;align-items:center;text-align:left;margin:8px 0;cursor:pointer}.attention-row:hover{background:var(--field)}.attention-row span:first-child{display:grid;gap:2px}.attention-row small{color:var(--muted)}.empty-state{padding:25px;text-align:center;color:var(--muted);background:var(--field);border-radius:13px}.link-btn{border:0;background:none;padding:0;color:var(--navy);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.cohort-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cohort-admin-card .form-grid{margin:18px 0}.cohort-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cohort-stats>div,.settings-meta>div{background:var(--field);border-radius:12px;padding:12px}.cohort-stats span,.settings-meta span{display:block;color:var(--muted);font-size:12px}.cohort-stats b,.settings-meta b{display:block;color:var(--navy);margin-top:3px}.toggle-row{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:15px}.toggle-row input{margin-top:3px}.toggle-row span{display:grid;gap:2px}.toggle-row small{color:var(--muted)}.settings-panel .form-grid{margin:12px 0 18px}.field.wide{grid-column:1/-1}.settings-panel textarea{min-height:92px}.settings-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px;border-top:1px solid var(--line);padding-top:18px}
.drawer-backdrop{position:fixed;inset:0;background:rgba(7,30,59,.38);z-index:90;backdrop-filter:blur(2px)}.detail-drawer{position:fixed;right:0;top:0;bottom:0;width:min(620px,94vw);background:#fff;z-index:91;box-shadow:-18px 0 50px rgba(16,50,88,.18);overflow:auto}.drawer-head{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);padding:22px 24px;display:flex;justify-content:space-between;align-items:center;z-index:2}.drawer-head h2{margin:2px 0 0;color:var(--navy)}.drawer-close{border:0;background:var(--field);width:38px;height:38px;border-radius:50%;font-size:25px;color:var(--navy);cursor:pointer}.drawer-body{padding:22px 24px 45px}.drawer-status{display:flex;justify-content:space-between;gap:12px;align-items:center;background:var(--field);border-radius:13px;padding:12px;margin-bottom:18px}.drawer-section{border-top:1px solid var(--line);padding:18px 0}.drawer-section:first-of-type{border-top:0}.drawer-section h3{color:var(--navy);margin:0 0 14px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-grid>div{background:var(--field);border-radius:10px;padding:11px}.detail-grid span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.detail-grid b{display:block;margin-top:4px;overflow-wrap:anywhere}.person-row{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #EEF4F8;padding:10px 0}.person-row div{display:grid}.person-row span{color:var(--muted);font-size:13px}.admin-note{background:#FFF8E8;border:1px solid #F0DFA8;border-radius:10px;padding:12px;margin:12px 0}.admin-note p{margin:4px 0 0}
.portal-title-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.portal-title-row h2{color:var(--navy);margin:0 0 8px}.portal-title-row p{color:var(--muted);margin:0}.portal-hold{margin-top:18px;padding:15px;background:#FFF7E6;border:1px solid #F1D8A0;border-radius:13px}.portal-hold>div:first-child{display:flex;justify-content:space-between;gap:14px}.portal-hold span{font-size:13px;color:#75520A}.mini-meter{height:6px;background:#F2DFC0;border-radius:99px;margin-top:11px;overflow:hidden}.mini-meter span{display:block;height:100%;background:#E3A117;border-radius:99px}.portal-section{margin-top:27px}.portal-section>h3{color:var(--navy);margin:0 0 13px}.portal-people{display:grid;gap:8px}.portal-person{display:flex;gap:11px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:11px}.portal-person>span{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:var(--ice);color:var(--navy);font-weight:700}.portal-person div{display:grid}.portal-person small{color:var(--muted);margin-top:2px}
@media(max-width:920px){.admin-toolbar{grid-template-columns:1fr 1fr}.admin-search{grid-column:1/-1}.cohort-admin-grid{grid-template-columns:1fr}.settings-meta{grid-template-columns:1fr 1fr}.admin-user{display:none}}
@media(max-width:640px){.admin-toolbar{grid-template-columns:1fr}.admin-search{grid-column:auto}.admin-toolbar .btn{width:100%}.detail-grid{grid-template-columns:1fr}.settings-meta{grid-template-columns:1fr}.portal-title-row{flex-direction:column}.portal-hold>div:first-child{display:grid}.drawer-body,.drawer-head{padding-left:17px;padding-right:17px}}


/* v2.1 launch polish */
:focus-visible{outline:3px solid rgba(33,150,243,.34);outline-offset:3px}
.btn:disabled,.icon-btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important}
.registration-banner{background:#FFF4D8;border-bottom:1px solid #F0D99C;color:#704300;font-size:13px}
.registration-banner.closed{background:#FEECEB;border-color:#F7C5C1;color:#8E231A}
.registration-banner .container{min-height:38px;display:flex;align-items:center;gap:10px;padding-top:7px;padding-bottom:7px}
.registration-banner .container span{opacity:.85;flex:1}.registration-banner a{font-weight:700;text-decoration:underline;text-underline-offset:2px}
.mobile-menu{display:none;background:#fff;border:1px solid var(--line);border-radius:0 0 18px 18px;padding:10px 14px 14px;box-shadow:0 18px 38px rgba(13,71,161,.12)}
.mobile-menu a{display:block;padding:12px 10px;border-bottom:1px solid #EEF4F8;color:#31557F;font-size:14px}.mobile-menu .btn{margin-top:12px}
.data-table thead th{position:sticky;top:0;background:#fff;z-index:1}
.portal-hold.expired{background:var(--redbg);border-color:#F5C1BC}.portal-hold.expired span{color:var(--red)}.portal-hold.expired .mini-meter span{width:0!important;background:var(--red)}
.not-found-card{max-width:720px;margin:40px auto;background:#fff;border:1px solid var(--line);border-radius:26px;padding:52px;box-shadow:var(--shadow-sm);text-align:center}.not-found-card>span{display:inline-grid;place-items:center;padding:7px 12px;border-radius:999px;background:var(--ice);color:var(--navy);font-weight:800;letter-spacing:.08em}.not-found-card p{color:var(--muted);font-size:17px;max-width:520px;margin:0 auto 24px}.not-found-card .hero-buttons{justify-content:center}
@media(max-width:1000px){.mobile-menu.open{display:block}.topbar .container{position:relative}}
@media(max-width:760px){
  body{padding-bottom:70px}.app-shell,.admin-shell,.admin-login{margin-bottom:-70px;padding-bottom:70px}
  .registration-banner .container{align-items:flex-start;flex-wrap:wrap;gap:3px 8px}.registration-banner .container b{width:100%}.registration-banner .container a{margin-left:auto}
  .topbar{padding-top:7px}.nav{border-radius:16px}.mobile-menu{margin-top:-3px}
  .admin-layout{display:block}.sidebar{position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(255,255,255,.18)}.sidebar img{display:none}.side-menu{display:flex;overflow-x:auto;gap:6px;padding-bottom:2px;scrollbar-width:none}.side-menu::-webkit-scrollbar{display:none}.side-menu button{flex:0 0 auto;white-space:nowrap;padding:9px 12px}.side-menu button:last-child{margin-left:auto}
  .admin-main{padding:16px 12px 28px}.admin-top{margin-bottom:16px}.admin-top-actions{justify-content:flex-start}.panel{padding:16px}.table-wrap{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.data-table{min-width:760px}
  .detail-drawer{width:100vw}.not-found-card{padding:34px 20px;margin:10px auto}.not-found-card .hero-buttons .btn{width:100%}
}
@media(max-width:470px){.registration-banner .container span{font-size:12px}.mobile-menu{border-radius:0 0 14px 14px}.admin-top{display:block}.admin-top-actions{margin-top:10px}.status-pill{padding:7px 10px;font-size:12px}}

/* v2.2 UI, performance and admin polish */
.ui-icon{width:22px;height:22px;display:block;flex:0 0 auto}
.icon-btn .ui-icon{width:21px;height:21px}
.btn.hero-primary,.btn.hero-secondary{position:static;transform:none!important;box-shadow:none}
.btn.hero-primary:hover,.btn.hero-secondary:hover{transform:none!important}
.hero-shell{min-height:610px;background:linear-gradient(105deg,#F9FDFF 0%,#EDF8FF 48%,#D9F0FF 100%)}
.hero-copy{width:55%;z-index:6}
.hero-photo-layer{position:absolute;inset:0 0 0 45%;z-index:1;overflow:hidden;pointer-events:none}
.hero-photo{position:absolute;bottom:-2%;height:97%;width:auto;object-fit:contain;filter:saturate(.96) contrast(1.02)}
.hero-photo.female{left:0;z-index:3}
.hero-photo.male{right:-2%;z-index:2;opacity:.96}
.hero-photo-fade{position:absolute;inset:0;z-index:4;background:linear-gradient(90deg,#EDF8FF 0%,rgba(237,248,255,.88) 7%,rgba(237,248,255,.28) 27%,rgba(237,248,255,0) 58%),linear-gradient(0deg,rgba(217,240,255,.9) 0%,rgba(217,240,255,0) 22%)}
.hero-quote{right:28px;top:42px;width:190px;transform:none;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);backdrop-filter:blur(8px);padding:14px 16px;border-radius:16px;font-size:17px;line-height:1.25}
.hero-buttons{align-items:center;margin-top:4px}
.quickfacts .ico .ui-icon{width:22px;height:22px}
.office-logo{width:54px;height:54px;border-radius:13px;box-shadow:0 8px 20px rgba(16,42,67,.10)}
.session-grid-clean{grid-template-columns:1fr 1fr;max-width:930px}
.cohort-icon{width:48px;height:48px;border-radius:14px;background:var(--ice);color:var(--navy);display:grid;place-items:center;margin-bottom:8px}
.cohort-icon .ui-icon{width:26px;height:26px}.choice-icon{margin:0 auto 10px}
.venue-section{background:#fff}
.venue-heading{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:30px}
.venue-heading .section-lede{margin-bottom:0}
.venue-whatsapp{display:inline-flex;align-items:center;gap:9px;padding:12px 16px;border:1px solid #BFE8CF;background:#F1FFF6;color:#126A36;border-radius:12px;font-weight:700;white-space:nowrap}
.venue-whatsapp img,.wa-inline img{width:20px;height:20px}
.wa-inline{display:inline-flex;align-items:center;gap:7px}
.venue-modern{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:stretch}
.venue-location-card{position:relative;overflow:hidden;border-radius:24px;padding:34px;background:linear-gradient(135deg,#0A3D89,#0D67C6);color:#fff;min-height:330px;box-shadow:var(--shadow-sm)}
.venue-location-card h3{font-size:38px;line-height:1.02;margin:25px 0 8px;max-width:430px}
.venue-location-card>p{color:#D9EDFF;font-size:17px;margin:0;max-width:520px}
.venue-kicker{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.09);padding:8px 11px;border-radius:999px;font-size:13px;font-weight:700}
.venue-kicker .ui-icon{width:17px;height:17px}
.venue-meta{position:absolute;left:34px;right:34px;bottom:30px;display:grid;grid-template-columns:1fr 1fr;gap:14px;z-index:2}
.venue-meta>div{display:flex;gap:10px;align-items:flex-start;padding-top:14px;border-top:1px solid rgba(255,255,255,.22)}
.venue-meta .ui-icon{width:19px;height:19px;margin-top:2px}.venue-meta span{display:grid}.venue-meta b{font-size:14px}.venue-meta small{color:#CFE7FA;margin-top:2px}
.venue-map-mark{position:absolute;right:-20px;top:24px;color:rgba(255,255,255,.08)}.venue-map-mark .ui-icon{width:190px;height:190px;stroke-width:1}
.logistics-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.logistic-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;gap:14px;align-items:flex-start;box-shadow:0 8px 24px rgba(13,71,161,.06)}
.logistic-icon{width:43px;height:43px;border-radius:12px;background:var(--ice);color:var(--navy);display:grid;place-items:center;flex:0 0 auto}.logistic-icon .ui-icon{width:21px;height:21px}
.logistic-card h4{margin:1px 0 5px;color:var(--navy);font-size:16px}.logistic-card p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.45}
.footer-grid>div:first-child>img{width:200px}.footer-grid .wa-inline img{width:18px}

/* Admin v2.2 */
.admin-layout{grid-template-columns:245px minmax(0,1fr);transition:grid-template-columns .2s ease}
.sidebar{transition:width .2s ease,padding .2s ease;overflow:hidden}
.sidebar-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:24px}
.sidebar-brand img{margin:0;width:178px}
.sidebar-toggle{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);color:#fff;border-radius:10px;width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto}
.sidebar-toggle .ui-icon{width:17px;height:17px;transition:transform .2s ease}
.side-menu button{display:flex;align-items:center;gap:11px}.side-glyph{width:22px;text-align:center;font-size:18px;flex:0 0 22px}.side-label{overflow:hidden;white-space:nowrap}
.admin-user{position:absolute;left:16px;right:16px;bottom:22px;display:grid;padding:13px;border-top:1px solid rgba(255,255,255,.16);color:#fff}.admin-user span{font-size:12px;color:#B9D8F6;text-transform:capitalize}
.sidebar-collapsed .admin-layout{grid-template-columns:78px minmax(0,1fr)}
.sidebar-collapsed .sidebar{padding-left:12px;padding-right:12px}
.sidebar-collapsed .sidebar-brand img,.sidebar-collapsed .side-label,.sidebar-collapsed .admin-user{display:none}
.sidebar-collapsed .sidebar-brand{justify-content:center}.sidebar-collapsed .sidebar-toggle .ui-icon{transform:rotate(180deg)}
.sidebar-collapsed .side-menu button{justify-content:center;padding-left:10px;padding-right:10px}.sidebar-collapsed .side-glyph{width:24px}
.admin-toolbar{grid-template-columns:minmax(360px,1fr) 170px 150px auto}
.admin-search{padding:0 7px 0 12px;gap:7px}.admin-search .search-icon{color:var(--muted)}.admin-search .search-icon .ui-icon{width:18px;height:18px}
.search-submit,.search-clear{border:0;border-radius:9px;padding:8px 11px;font-weight:700}.search-submit{background:var(--navy);color:#fff}.search-clear{background:#EEF5FA;color:var(--navy)}
.data-table thead th{position:sticky;top:0;background:#fff;z-index:2}

@media(max-width:1000px){
  .hero-shell{min-height:760px}.hero-copy{width:100%;max-width:650px}.hero-photo-layer{inset:auto 0 0 0;height:48%}.hero-photo{height:112%}.hero-photo.female{left:12%}.hero-photo.male{right:9%}.hero-photo-fade{background:linear-gradient(0deg,#D9F0FF 0%,rgba(217,240,255,.25) 40%,rgba(217,240,255,0) 75%)}.hero-quote{display:none}
  .venue-modern{grid-template-columns:1fr}.venue-location-card{min-height:320px}.logistics-grid{grid-template-columns:1fr 1fr}
  .admin-toolbar{grid-template-columns:1fr 1fr}.admin-search{grid-column:1/-1}
}
@media(max-width:760px){
  .hero-shell{min-height:735px}.hero-photo-layer{height:42%}.hero-photo.female{left:0}.hero-photo.male{right:-3%}.hero-buttons .btn{width:100%}
  .session-grid-clean{grid-template-columns:1fr}.venue-heading{display:block}.venue-whatsapp{margin-top:18px}.venue-location-card{padding:26px;min-height:390px}.venue-location-card h3{font-size:31px}.venue-meta{left:26px;right:26px;bottom:24px;grid-template-columns:1fr}.logistics-grid{grid-template-columns:1fr}
  .sidebar-brand{display:none}.sidebar-collapsed .admin-layout,.admin-layout{display:block}.sidebar{overflow:visible}.side-label{display:inline!important}.side-menu button{justify-content:flex-start!important}.sidebar-toggle{display:none}
}
@media(max-width:470px){.hero-shell{min-height:700px}.hero-photo-layer{height:39%}.venue-location-card{min-height:430px}.venue-map-mark{display:none}.admin-toolbar{grid-template-columns:1fr}}


/* v2.3.2.1 Premium Dashboard */
.dashboard-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#fff;padding:28px;border-radius:24px;box-shadow:var(--shadow-sm);margin-bottom:22px}
.dashboard-hero h2{margin:0;color:var(--navy);font-size:32px}
.dashboard-hero p{color:var(--muted)}
.quick-actions{display:flex;gap:10px;flex-wrap:wrap}
.premium-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}
.premium-kpi{background:#fff;border-radius:22px;padding:22px;box-shadow:var(--shadow-sm);animation:fadeUp .45s ease}
.premium-kpi span,.premium-kpi small{display:block;color:var(--muted)}
.premium-kpi b{display:block;font-size:34px;color:var(--navy);margin:10px 0}
.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-bottom:20px}
.capacity-card{padding:16px 0;border-bottom:1px solid var(--line)}
.capacity-card div{display:flex;justify-content:space-between}
.capacity-card span{color:var(--muted)}
.capacity-meter{height:10px;background:#e8f0f8;border-radius:10px;margin:12px 0;overflow:hidden}
.capacity-meter i{display:block;height:100%;background:var(--blue);border-radius:10px}
.payment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.payment-summary div{background:var(--bg);padding:14px;border-radius:14px;text-align:center}
.payment-summary b{display:block;font-size:25px;color:var(--navy)}
.trend-bars{height:180px;display:flex;align-items:end;gap:12px;padding:20px}
.trend-bars span{width:45px;background:var(--blue);border-radius:10px 10px 0 0;position:relative}
.trend-bars small{position:absolute;top:-22px}
.activity-feed{display:grid;gap:12px}
.activity-item{padding:15px;border-left:4px solid var(--blue);background:var(--bg);border-radius:12px}
.activity-item span,.activity-item small{display:block;color:var(--muted)}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:900px){
 .premium-kpis{grid-template-columns:repeat(2,1fr)}
 .dashboard-grid{grid-template-columns:1fr}
 .dashboard-hero{display:block}
}
@media(max-width:600px){
 .premium-kpis{grid-template-columns:1fr}
 .dashboard-hero h2{font-size:24px}
 .payment-summary{grid-template-columns:1fr}
}

/* =========================================================
   v2.3.5 Premium Admin Dashboard
   ========================================================= */
.admin-shell{--admin-surface:#F4F8FC;--admin-card:#fff;--admin-soft:#F7FAFD;background:var(--admin-surface)}
.admin-main{min-width:0;padding:28px 32px 48px}
.admin-top{padding:2px 2px 4px}
.admin-top h1{font-size:30px;letter-spacing:-.02em}
.admin-top-actions{gap:8px}
.admin-icon{width:20px;height:20px;display:block;flex:0 0 auto}
.side-caption{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#8EBCE9;padding:0 12px 8px;font-weight:700}
.side-menu button{position:relative;min-height:44px}
.side-menu button em{margin-left:auto;min-width:22px;height:22px;border-radius:999px;background:#fff;color:var(--navy);display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:800}
.sidebar-collapsed .side-menu button em{position:absolute;right:2px;top:3px;min-width:17px;height:17px;font-size:9px}
.admin-mobile-bar,.admin-mobile-backdrop,.admin-mobile-close{display:none}

.premium-admin-hero{border:1px solid #E4EEF7;background:linear-gradient(135deg,#fff 0%,#F7FBFF 58%,#EAF6FF 100%);position:relative;overflow:hidden}
.premium-admin-hero::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(33,150,243,.08);right:-80px;top:-100px}
.premium-admin-hero>*{position:relative;z-index:1}
.premium-admin-hero h2{letter-spacing:-.025em}
.premium-admin-hero p b{color:var(--navy);font-weight:700}
.btn-badge{background:#fff;color:var(--navy);border-radius:99px;min-width:22px;height:22px;display:inline-grid;place-items:center;font-size:11px;padding:0 5px}

.premium-kpi{position:relative;overflow:hidden;border:1px solid #E5EFF7;animation:adminCardIn .42s ease both;animation-delay:var(--delay,0ms);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.premium-kpi:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(13,71,161,.12);border-color:#C9E3F8}
.kpi-icon{width:42px;height:42px;border-radius:13px;background:var(--ice);color:var(--navy);display:grid;place-items:center;margin-bottom:18px}
.kpi-icon .admin-icon{width:21px;height:21px}
.premium-kpi b{font-size:31px;line-height:1.05;letter-spacing:-.025em}
.premium-kpi small{font-size:12.5px}
@keyframes adminCardIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.dashboard-analytics-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:20px;margin-bottom:20px}
.analytics-panel{min-height:330px}
.mini-stat{font-size:12px;font-weight:700;color:var(--navy);background:var(--ice);padding:8px 10px;border-radius:999px;white-space:nowrap}
.trend-chart{margin-top:8px;overflow:hidden}
.trend-chart svg{width:100%;height:225px;display:block;overflow:visible}
.chart-grid{stroke:#E5EFF7;stroke-width:1}
.chart-line{fill:none;stroke:var(--navy);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.chart-point{fill:#fff;stroke:var(--blue);stroke-width:3}
.chart-labels{display:grid;grid-template-columns:repeat(14,1fr);gap:0;font-size:10px;color:var(--muted);margin:0 20px}
.chart-labels span{text-align:center;white-space:nowrap}
.payment-chart-wrap{display:grid;grid-template-columns:155px 1fr;gap:24px;align-items:center;padding:18px 4px}
.payment-donut{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:inset 0 0 0 1px rgba(13,71,161,.05)}
.payment-donut::after{content:"";position:absolute;width:94px;height:94px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #EDF3F8}
.payment-donut>div{position:relative;z-index:1;text-align:center;display:grid}
.payment-donut b{font-size:27px;color:var(--navy);line-height:1}.payment-donut span{font-size:11px;color:var(--muted);margin-top:4px}
.chart-legend{display:grid;gap:13px}.chart-legend>div{display:grid;grid-template-columns:11px 1fr auto;align-items:center;gap:9px}.chart-legend span{font-size:13px;color:var(--muted)}.chart-legend b{color:var(--navy)}
.legend-dot{width:9px;height:9px;border-radius:50%;display:block}.legend-dot.verified{background:var(--navy)}.legend-dot.submitted{background:var(--blue)}.legend-dot.rejected{background:#E46B64}

.capacity-list{display:grid;gap:4px}.capacity-card{border-bottom:1px solid var(--line);padding:17px 0}.capacity-card:last-child{border-bottom:0}
.capacity-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.capacity-head>div{display:grid}.capacity-head span{font-size:12px;color:var(--muted);margin-top:2px}.capacity-head strong{color:var(--navy);font-size:14px}
.capacity-foot{display:flex;justify-content:space-between;align-items:center}.capacity-foot small{color:var(--muted)}
.link-btn{border:0;background:none;color:var(--navy);font-weight:700;padding:3px;cursor:pointer}

.activity-item{border-left:0;display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:start;background:#F8FBFE;padding:12px 13px}
.activity-dot{width:36px;height:36px;border-radius:11px;background:var(--ice);color:var(--navy);display:grid;place-items:center}.activity-dot .admin-icon{width:17px;height:17px}
.activity-item.danger .activity-dot{background:var(--redbg);color:var(--red)}
.activity-item b{font-size:14px;color:var(--ink)}.activity-item span{font-size:12.5px}.activity-item small{font-size:11px;margin-top:3px}

.payment-queue-panel{margin-top:20px}
.verification-queue{display:grid;gap:10px}
.verification-card{display:grid;grid-template-columns:minmax(240px,1.3fr) minmax(140px,.65fr) auto;gap:16px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:14px 15px;background:#fff;transition:.18s}
.verification-card:hover{border-color:#BEDCF3;box-shadow:0 10px 26px rgba(13,71,161,.07)}
.verification-main{display:flex;align-items:center;gap:12px;min-width:0}.verification-main>div{display:grid;min-width:0}.verification-main b{color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.verification-main span,.verification-main small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bank-mini{width:48px;height:32px;border-radius:9px;background:#EEF5FB;color:var(--navy);display:grid;place-items:center;font-size:10px;font-weight:900;letter-spacing:.04em;flex:0 0 auto}.bank-mini.crdb{background:#EAF8EF;color:#14753D}.bank-mini.nbc{background:#FFF3E7;color:#A64B00}
.bank-logo-mini{width:62px;height:42px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;padding:7px;background:#fff;flex:0 0 auto}.bank-logo-mini img{max-width:100%;max-height:28px;object-fit:contain}
.verification-amount{display:grid}.verification-amount b{color:var(--ink)}.verification-amount span{font-size:12px;color:var(--muted)}
.payment-state{display:grid;gap:4px;justify-items:start}.payment-state small{font-size:11px;color:var(--muted)}
.verification-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.reject-btn{color:var(--red)!important;border-color:#F1C7C4!important}.reject-btn:hover{background:var(--redbg)!important}
.full-queue .payment-record{grid-template-columns:minmax(260px,1.35fr) minmax(150px,.55fr) minmax(120px,.42fr) minmax(280px,1fr)}

.queue-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.queue-summary article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 7px 20px rgba(13,71,161,.04)}.queue-summary span,.queue-summary small{display:block;color:var(--muted)}.queue-summary b{display:block;color:var(--navy);font-size:27px;margin:5px 0}.queue-summary small{font-size:12px}

.premium-toolbar{background:#fff;border:1px solid var(--line);border-radius:17px;padding:10px;box-shadow:0 8px 22px rgba(13,71,161,.045)}
.payment-toolbar{grid-template-columns:minmax(360px,1fr) 180px auto}.participant-toolbar{grid-template-columns:minmax(360px,1fr) auto}
.booking-workspace{padding:0;overflow:hidden}.booking-workspace .panel-head{padding:20px 20px 6px}
.modern-table th{font-size:11px;text-transform:uppercase;letter-spacing:.055em}.modern-table td{height:64px}.modern-table tbody tr:hover{background:#F8FBFE}
.row-action{border:0;background:transparent;color:var(--navy);font-weight:700;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.row-action .ui-icon{width:14px;height:14px}
.mobile-admin-cards{display:none}
.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:15px 0 0;padding:4px 3px;color:var(--muted);font-size:13px}.admin-pagination>div{display:flex;gap:5px}.admin-pagination button{border:1px solid var(--line);background:#fff;color:var(--navy);min-width:36px;height:36px;border-radius:9px;font-weight:700}.admin-pagination button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.admin-pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination-note{text-align:right;color:var(--muted);font-size:12px;margin-top:9px}

.detail-drawer{width:min(650px,96vw);animation:drawerSlide .25s ease}.drawer-backdrop{animation:fadeBackdrop .2s ease}
@keyframes drawerSlide{from{transform:translateX(35px);opacity:.4}to{transform:none;opacity:1}}@keyframes fadeBackdrop{from{opacity:0}to{opacity:1}}
.detail-highlight{background:linear-gradient(135deg,#EAF6FF,#F6FBFF)!important;border:1px solid #D3EAFB}.detail-highlight b{color:var(--navy);font-size:19px}.drawer-bank-logo{width:90px;height:40px;object-fit:contain}.drawer-actions{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}
.drawer-skeleton{display:grid;gap:14px}.drawer-skeleton i{display:block;height:94px;border-radius:14px;background:linear-gradient(90deg,#F1F5F8 25%,#E8F0F6 45%,#F1F5F8 65%);background-size:220% 100%;animation:skeletonMove 1.3s linear infinite}@keyframes skeletonMove{to{background-position:-220% 0}}
.admin-loading{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-loading i{height:120px;border-radius:18px;background:linear-gradient(90deg,#F0F5F9,#E5EEF5,#F0F5F9);background-size:220% 100%;animation:skeletonMove 1.3s linear infinite}

.bank-detail-card{padding:18px!important;border:1px solid var(--line);border-radius:16px;background:#fff!important}.bank-detail-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.bank-detail-head img{width:95px;height:45px;object-fit:contain}.bank-detail-head>div{display:grid}.bank-detail-head span{font-size:12px;color:var(--muted);margin-top:2px}.bank-detail-card .copyline{background:var(--bg);border:1px solid var(--line);border-radius:13px;padding:12px 13px}.bank-detail-card .copyline>div{display:grid}.bank-detail-card .copyline small{color:var(--muted);font-size:10px;letter-spacing:.08em}.bank-detail-card code{font-size:19px;color:var(--navy);font-weight:800}

.success-empty{background:var(--greenbg);color:var(--green);border-radius:14px}

@media(max-width:1180px){
  .dashboard-analytics-grid{grid-template-columns:1fr}.verification-card,.full-queue .payment-record{grid-template-columns:1fr 1fr}.verification-actions{grid-column:1/-1;justify-content:flex-start}.premium-kpis{gap:12px}.premium-kpi{padding:18px}
}
@media(max-width:900px){
  .premium-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.queue-summary{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  body{padding-bottom:env(safe-area-inset-bottom)}
  .admin-shell{padding-top:66px!important;margin-bottom:0!important;min-height:100dvh}
  .admin-mobile-bar{position:fixed;top:0;left:0;right:0;height:66px;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:9px 14px;padding-top:max(9px,env(safe-area-inset-top));box-shadow:0 6px 20px rgba(13,71,161,.06)}
  .admin-mobile-bar img{width:166px;height:46px;object-fit:contain;object-position:left center}.admin-mobile-menu-btn,.admin-mobile-close{border:1px solid var(--line);background:#fff;color:var(--navy);width:40px;height:40px;border-radius:11px;display:grid;place-items:center}.admin-mobile-menu-btn .admin-icon,.admin-mobile-close .admin-icon{width:21px;height:21px}
  .admin-layout,.sidebar-collapsed .admin-layout{display:block!important}.sidebar{position:fixed!important;left:0;top:0;bottom:0;width:min(315px,86vw)!important;height:100dvh!important;z-index:100!important;padding:20px 14px calc(20px + env(safe-area-inset-bottom))!important;transform:translateX(-105%);transition:transform .25s ease!important;overflow:auto!important}.mobile-open .sidebar{transform:translateX(0)}
  .admin-mobile-backdrop{display:block;position:fixed;inset:0;background:rgba(6,31,61,.48);z-index:90;opacity:0;pointer-events:none;transition:.2s}.mobile-open .admin-mobile-backdrop{opacity:1;pointer-events:auto}
  .sidebar-brand,.sidebar-collapsed .sidebar-brand{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:22px!important}.sidebar-brand img,.sidebar-collapsed .sidebar-brand img{display:block!important;width:178px!important;filter:brightness(0) invert(1)}.sidebar-toggle{display:none!important}.admin-mobile-close{display:grid;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff}
  .side-caption{display:block!important}.side-menu{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;gap:5px!important}.side-menu button,.sidebar-collapsed .side-menu button{width:100%!important;justify-content:flex-start!important;white-space:normal!important;padding:12px 13px!important}.side-label,.sidebar-collapsed .side-label{display:inline!important}.admin-user,.sidebar-collapsed .admin-user{display:grid!important;position:static;margin-top:22px}
  .admin-main{padding:16px 12px 34px!important}.admin-top{display:flex!important;align-items:flex-start!important}.admin-top h1{font-size:25px}.admin-top-actions{display:none}
  .premium-admin-hero{padding:20px;border-radius:19px}.premium-admin-hero h2{font-size:25px}.premium-admin-hero .quick-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:16px}.premium-admin-hero .quick-actions .btn:last-child{grid-column:1/-1}
  .premium-kpis{grid-template-columns:1fr 1fr!important;gap:10px}.premium-kpi{padding:15px;border-radius:16px}.premium-kpi b{font-size:22px;margin:7px 0}.premium-kpi span{font-size:11px}.premium-kpi small{font-size:10.5px}.kpi-icon{width:34px;height:34px;border-radius:10px;margin-bottom:12px}.kpi-icon .admin-icon{width:17px;height:17px}
  .dashboard-analytics-grid{gap:12px}.analytics-panel{min-height:auto}.panel{border-radius:16px;padding:15px}.trend-chart svg{height:180px}.chart-labels{font-size:8px;margin:0 4px}.payment-chart-wrap{grid-template-columns:120px 1fr;gap:14px}.payment-donut{width:116px;height:116px}.payment-donut::after{width:72px;height:72px}.payment-donut b{font-size:21px}
  .queue-summary{grid-template-columns:1fr 1fr;gap:9px}.queue-summary article:last-child{grid-column:1/-1}.queue-summary article{padding:14px}.queue-summary b{font-size:22px}
  .premium-toolbar,.payment-toolbar,.participant-toolbar{grid-template-columns:1fr!important;padding:8px}.admin-search{grid-column:auto!important}.premium-toolbar .btn{width:100%}
  .desktop-admin-table{display:none}.mobile-admin-cards{display:grid;gap:9px;padding:0 12px 14px}.mobile-booking-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;box-shadow:0 5px 15px rgba(13,71,161,.04)}.mobile-booking-card>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.mobile-booking-card h4{margin:10px 0 2px;color:var(--navy)}.mobile-booking-card p{margin:0 0 8px;color:var(--muted);font-size:12.5px}.mobile-booking-card strong{color:var(--ink)}
  .verification-card,.full-queue .payment-record{grid-template-columns:1fr!important;padding:13px}.verification-actions{grid-column:auto}.verification-actions .btn{flex:1}.verification-amount{border-top:1px solid var(--line);padding-top:10px}.payment-state{position:absolute;right:13px;top:13px}.payment-record{position:relative;padding-top:50px!important}.payment-record .verification-main{padding-right:0}.payment-record .payment-state{top:12px}
  .admin-pagination{align-items:flex-start;flex-direction:column}.admin-pagination>div{width:100%;overflow-x:auto;padding-bottom:4px}.admin-pagination button{flex:0 0 auto}
  .detail-drawer{width:100vw!important;top:0;padding-top:env(safe-area-inset-top)}.drawer-body,.drawer-head{padding-left:16px!important;padding-right:16px!important}.drawer-actions .btn{width:100%}.drawer-bank-logo{width:78px}
  .admin-loading{grid-template-columns:1fr 1fr}.admin-loading i:last-child{display:none}
}
@media(max-width:430px){
  .premium-admin-hero .quick-actions{grid-template-columns:1fr}.premium-admin-hero .quick-actions .btn:last-child{grid-column:auto}.payment-chart-wrap{grid-template-columns:1fr;justify-items:center}.chart-legend{width:100%}.verification-actions{display:grid;grid-template-columns:1fr 1fr}.verification-actions .btn{width:100%}.verification-actions .btn:first-child{grid-column:1/-1}
}

/* =========================================================
   v2.3.6 Experience & UI/UX polish
   ========================================================= */
:root{
  --admin-deep:#082E67;
  --admin-blue:#0D47A1;
  --admin-accent:#2196F3;
  --success:#08A45A;
  --success-soft:#E9FBF2;
}

/* Perceived performance / loading states */
.button-spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:spin .72s linear infinite;flex:0 0 auto}
@keyframes spin{to{transform:rotate(360deg)}}
.navigation-loader,.operation-overlay,.admin-confirm-backdrop{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .18s ease;background:rgba(7,31,62,.34);backdrop-filter:blur(8px)}
.navigation-loader.show,.operation-overlay.show,.admin-confirm-backdrop.show{opacity:1;pointer-events:auto}
.navigation-loader{z-index:260;background:rgba(248,251,255,.72);backdrop-filter:blur(10px)}
.navigation-loader-card,.operation-card,.admin-confirm-modal{width:min(440px,calc(100vw - 32px));background:rgba(255,255,255,.97);border:1px solid rgba(217,232,245,.95);border-radius:24px;box-shadow:0 30px 80px rgba(8,46,103,.2);padding:30px;text-align:center;transform:translateY(8px) scale(.985);transition:transform .2s ease}
.navigation-loader.show .navigation-loader-card,.operation-overlay.show .operation-card,.admin-confirm-backdrop.show .admin-confirm-modal{transform:none}
.navigation-loader-card img{width:180px;height:54px;object-fit:contain;margin:0 auto 20px}
.navigation-loader-card b,.operation-card h3,.admin-confirm-modal h3{display:block;color:var(--navy);font-size:20px;margin:12px 0 5px}
.navigation-loader-card small,.operation-card p,.admin-confirm-modal p{display:block;color:var(--muted);margin:0;line-height:1.55}
.mini-loader,.operation-loader{display:flex;align-items:center;justify-content:center;gap:7px;height:34px}
.mini-loader i,.operation-loader i{width:8px;height:8px;border-radius:50%;background:var(--blue);animation:loaderBounce .9s ease-in-out infinite}
.mini-loader i:nth-child(2),.operation-loader i:nth-child(2){animation-delay:.12s}.mini-loader i:nth-child(3),.operation-loader i:nth-child(3){animation-delay:.24s}
@keyframes loaderBounce{0%,80%,100%{transform:scale(.65);opacity:.35}40%{transform:scale(1);opacity:1}}
.operation-progress{height:5px;background:#EAF2F8;border-radius:99px;overflow:hidden;margin-top:22px}.operation-progress span{height:100%;display:block;width:46%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--navy));animation:operationSlide 1.25s ease-in-out infinite}
@keyframes operationSlide{0%{transform:translateX(-110%)}100%{transform:translateX(260%)}}
.operation-error{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:0 auto;background:var(--redbg);color:var(--red);font-size:34px;font-weight:800}.operation-overlay.failed .operation-card .btn{margin-top:20px}

/* Animated success tick — lightweight recreation of supplied success animation */
.success-animation{width:108px;height:108px;position:relative;margin:0 auto 18px;display:grid;place-items:center;isolation:isolate}
.success-animation svg{width:86px;height:86px;position:relative;z-index:4;overflow:visible}
.success-halo,.success-ring{position:absolute;inset:13px;border-radius:50%;background:#80FFD0;z-index:1;animation:successHalo .8s cubic-bezier(.2,.8,.2,1) both}
.success-ring{inset:20px;background:#00D47B;z-index:2;animation:successPop .65s cubic-bezier(.16,1.35,.35,1) .08s both}
.success-circle{fill:#00A95C;transform-origin:center;animation:successCircle .55s cubic-bezier(.16,1.35,.35,1) both}
.success-check{fill:none;stroke:#fff;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:55;stroke-dashoffset:55;animation:drawCheck .42s ease .36s forwards}
.success-animation .spark{position:absolute;width:7px;height:7px;background:#00C875;clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%);z-index:5;opacity:0;animation:sparkOut .65s ease .36s forwards}
.success-animation .s1{left:8px;top:38px}.success-animation .s2{right:9px;top:30px;animation-delay:.43s}.success-animation .s3{left:28px;bottom:5px;animation-delay:.48s}.success-animation .s4{right:24px;bottom:7px;animation-delay:.53s}
@keyframes successHalo{0%{transform:scale(.12);opacity:0}55%{opacity:.55}100%{transform:scale(1.22);opacity:0}}
@keyframes successPop{0%{transform:scale(.15);opacity:0}65%{transform:scale(1.12);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes successCircle{0%{transform:scale(.2);opacity:0}70%{transform:scale(1.08);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes drawCheck{to{stroke-dashoffset:0}}
@keyframes sparkOut{0%{opacity:0;transform:scale(.2)}35%{opacity:1;transform:scale(1.2)}100%{opacity:0;transform:translateY(-12px) scale(.7)}}
.reservation-success,.payment-success-card{overflow:hidden;position:relative}.reservation-success::before,.payment-success-card::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(0,200,117,.08),transparent 68%);top:-190px;left:50%;transform:translateX(-50%);pointer-events:none}

/* Landing-page hero: two fully visible facilitator portraits */
.hero-shell{min-height:625px;background:radial-gradient(circle at 84% 20%,rgba(144,202,249,.36),transparent 25%),linear-gradient(112deg,#FBFEFF 0%,#EDF8FF 48%,#D8F0FF 100%);border:1px solid rgba(144,202,249,.33)}
.hero-shell::before{animation:heroOrb 10s ease-in-out infinite alternate}
@keyframes heroOrb{to{transform:translate(-28px,28px) scale(1.08)}}
.hero-copy{width:53%;z-index:8}
.hero-photo-layer{position:absolute;left:54%;right:25px;top:72px;bottom:30px;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:end;overflow:visible;pointer-events:none}
.hero-portrait{position:relative;overflow:hidden;background:#DDE7EE;border:6px solid rgba(255,255,255,.92);box-shadow:0 24px 58px rgba(13,71,161,.18);border-radius:150px 150px 28px 28px;transform-origin:bottom center}
.hero-portrait.female{height:455px;animation:portraitFloatA 7s ease-in-out infinite}
.hero-portrait.male{height:485px;animation:portraitFloatB 7.5s ease-in-out infinite;transform:translateY(-12px)}
.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 12%;filter:saturate(.98) contrast(1.02)}
.hero-photo-fade{position:absolute;z-index:5;left:-42px;top:0;bottom:0;width:95px;background:linear-gradient(90deg,#EDF8FF 0%,rgba(237,248,255,.85) 26%,rgba(237,248,255,0) 100%);pointer-events:none}
@keyframes portraitFloatA{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes portraitFloatB{0%,100%{transform:translateY(-12px)}50%{transform:translateY(-21px)}}
.hero-quote{right:40px;top:28px;z-index:7;background:rgba(255,255,255,.86);box-shadow:0 10px 26px rgba(13,71,161,.08)}
.hero-buttons{gap:10px;position:relative;z-index:9}
.hero-buttons .btn{min-height:49px}
.hero-primary{position:relative!important;overflow:hidden}.hero-primary::after{content:"";position:absolute;top:-50%;left:-70%;width:42%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:rotate(18deg);animation:buttonShine 4.8s ease-in-out infinite}
@keyframes buttonShine{0%,72%{left:-70%}100%{left:140%}}
.qf,.jcard,.session-card,.logistic-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.qf:hover,.jcard:hover,.session-card:hover,.logistic-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(13,71,161,.11);border-color:#C6E2F6}

/* Better payment branding */
.payment-option img[src*="crdb-bank"],.bank-detail-head img[src*="crdb-bank"],.drawer-bank-logo[src*="crdb-bank"],.bank-logo-mini img[src*="crdb-bank"]{object-fit:contain;padding:4px;background:#fff;border-radius:8px}
.payment-option img[src*="crdb-bank"]{height:56px;max-width:175px}
.bank-detail-head img[src*="crdb-bank"]{width:112px;height:48px}

/* Admin dashboard refinement */
.admin-shell{background:radial-gradient(circle at 90% -8%,rgba(33,150,243,.10),transparent 26%),#F4F8FC}
.sidebar{background:linear-gradient(180deg,#082E67 0%,#0A3D89 42%,#0D47A1 100%);box-shadow:10px 0 34px rgba(8,46,103,.08)}
.side-menu button{border:1px solid transparent;transition:background .18s ease,border-color .18s ease,transform .18s ease}.side-menu button:hover{transform:translateX(2px)}.side-menu button.active{background:linear-gradient(90deg,rgba(255,255,255,.17),rgba(255,255,255,.09));border-color:rgba(255,255,255,.13);box-shadow:inset 3px 0 0 #90CAF9}
.admin-main{max-width:1600px;width:100%;margin:0 auto}
.admin-top{position:sticky;top:0;z-index:30;padding:11px 2px 14px;background:linear-gradient(180deg,rgba(244,248,252,.96) 72%,rgba(244,248,252,0));backdrop-filter:blur(10px)}
.admin-top-actions{display:flex;align-items:center}.admin-live{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;border:1px solid #CBE8D8;background:#F2FFF7;color:#13713B;font-size:12px;font-weight:800}.admin-live i{width:7px;height:7px;background:#18A957;border-radius:50%;box-shadow:0 0 0 0 rgba(24,169,87,.35);animation:livePulse 1.8s infinite}@keyframes livePulse{70%{box-shadow:0 0 0 7px rgba(24,169,87,0)}}
.admin-refresh-btn{width:38px;height:38px;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:11px;display:grid;place-items:center;box-shadow:0 5px 15px rgba(13,71,161,.05);transition:.18s}.admin-refresh-btn:hover{background:var(--ice);border-color:#B8DCF6;transform:rotate(12deg)}.admin-refresh-btn .admin-icon{width:18px;height:18px}
.premium-admin-hero{padding:30px;border-radius:25px;box-shadow:0 14px 42px rgba(13,71,161,.07)}
.premium-admin-hero::before{content:"";position:absolute;right:88px;bottom:-88px;width:190px;height:190px;border:1px solid rgba(33,150,243,.12);border-radius:50%}
.premium-kpis{gap:14px}.premium-kpi{border-radius:19px;box-shadow:0 10px 28px rgba(13,71,161,.055);background:linear-gradient(180deg,#fff,#FBFDFF)}.premium-kpi:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(13,71,161,.10);border-color:#CDE6F8}.kpi-icon{background:linear-gradient(145deg,#E8F5FF,#D9EEFF);color:var(--navy)}
.analytics-panel,.payment-queue-panel,.booking-workspace{box-shadow:0 10px 30px rgba(13,71,161,.045)}
.verification-card{border:1px solid #E3EEF7;background:linear-gradient(180deg,#fff,#FBFDFF);box-shadow:0 8px 24px rgba(13,71,161,.04);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.verification-card:hover{transform:translateY(-2px);border-color:#C8E2F5;box-shadow:0 15px 35px rgba(13,71,161,.08)}
.queue-bank-logo{width:76px;height:45px;border-radius:10px;background:#fff;border:1px solid #E6EFF6;display:grid;place-items:center;padding:5px;flex:0 0 auto}.queue-bank-logo img{width:100%;height:100%;object-fit:contain}.verification-main small{display:block;color:var(--muted);font-size:11.5px;margin-top:3px}.approve-btn{background:linear-gradient(135deg,#0D47A1,#176FC4)}
.modern-table tbody tr{transition:background .15s ease}.modern-table tbody tr:hover{background:#F4FAFF}
.mobile-booking-card{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.mobile-booking-card:active{transform:scale(.99)}

/* Custom confirmation modal */
.admin-confirm-backdrop{z-index:340}.admin-confirm-modal{text-align:left;width:min(480px,calc(100vw - 28px));padding:28px}.admin-confirm-modal h3{font-size:23px;margin-top:14px}.confirm-icon{width:52px;height:52px;border-radius:15px;background:var(--ice);color:var(--navy);display:grid;place-items:center}.confirm-icon.success{background:var(--greenbg);color:var(--green)}.confirm-icon.danger{background:var(--redbg);color:var(--red)}.confirm-icon .admin-icon{width:25px;height:25px}.confirm-note{display:grid;gap:7px;margin-top:18px}.confirm-note span{font-size:12px;color:#335C83;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.confirm-note textarea{width:100%;min-height:110px;border:1px solid var(--line);border-radius:12px;padding:12px;resize:vertical;color:var(--ink);outline:0}.confirm-note textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(33,150,243,.10)}.confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}

@media(max-width:1000px){
  .hero-shell{min-height:790px;padding-bottom:390px}
  .hero-copy{width:100%;max-width:700px}
  .hero-photo-layer{left:32px;right:32px;top:auto;bottom:24px;height:350px;grid-template-columns:1fr 1fr;gap:18px}
  .hero-portrait.female,.hero-portrait.male{height:340px;transform:none;border-radius:120px 120px 24px 24px}
  .hero-portrait.male{height:350px}.hero-photo-fade{display:none}
}
@media(max-width:760px){
  .hero-shell{min-height:735px;padding:34px 18px 285px;border-radius:22px}
  .hero-copy h1{font-size:clamp(43px,13vw,56px)}
  .hero-copy .intro{margin-bottom:20px}
  .hero-buttons{display:grid!important;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
  .hero-buttons .btn{width:100%!important;min-width:0;padding:12px 9px;font-size:13px;white-space:nowrap}
  .hero-photo-layer{left:14px;right:14px;bottom:15px;height:245px;gap:9px}
  .hero-portrait.female,.hero-portrait.male{height:232px;border-width:4px;border-radius:86px 86px 19px 19px;animation:none;transform:none}
  .hero-portrait.male{height:242px}
  .hero-portrait img{object-position:center 10%}
  .hero-quote{display:none}
  .navigation-loader-card,.operation-card{padding:25px 20px;border-radius:20px}
  .admin-top{top:66px;padding-top:8px}.admin-top-actions .status-pill.pending{display:none}.admin-live{display:none}.admin-refresh-btn{width:36px;height:36px}
  .premium-admin-hero{padding:21px}.verification-card:hover{transform:none}
  .confirm-actions{display:grid;grid-template-columns:1fr 1fr}.confirm-actions .btn{width:100%}
}
@media(max-width:430px){
  .hero-shell{min-height:720px;padding-bottom:270px}
  .hero-buttons{grid-template-columns:1fr 1fr!important}.hero-buttons .btn{font-size:12.5px;padding:11px 7px;gap:5px}.hero-buttons .btn span{display:none}
  .hero-photo-layer{height:230px}.hero-portrait.female{height:218px}.hero-portrait.male{height:228px}
  .success-animation{width:96px;height:96px}.success-animation svg{width:78px;height:78px}
  .admin-top h1{font-size:23px}.admin-top-actions .status-pill{display:none}
}
@media(max-width:355px){.hero-buttons{grid-template-columns:1fr!important}.hero-shell{min-height:780px}}
@media(prefers-reduced-motion:reduce){.hero-shell::before,.hero-portrait,.hero-primary::after,.admin-live i,.success-animation *,.mini-loader i,.operation-loader i,.operation-progress span{animation:none!important}.success-check{stroke-dashoffset:0}.success-animation .spark{display:none}}
.payment-trust{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(255,255,255,.88);border:1px solid #DCEAF5;border-radius:18px;padding:16px 18px;box-shadow:0 10px 28px rgba(13,71,161,.055)}
.payment-trust-copy{display:flex;align-items:center;gap:12px}.payment-trust-copy>div{display:grid}.payment-trust-copy b{color:var(--navy)}.payment-trust-copy small{color:var(--muted);margin-top:2px}.trust-icon{width:38px;height:38px;border-radius:11px;background:var(--greenbg);color:var(--green);display:grid;place-items:center;flex:0 0 auto}.trust-icon .ui-icon{width:19px;height:19px}
.payment-trust-banks{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.payment-trust-banks>span{display:flex;align-items:center;gap:8px;min-height:48px;border:1px solid #E3EDF5;border-radius:12px;padding:7px 11px;background:#fff;color:var(--navy);font-size:13px}.payment-trust-banks img{width:74px;height:30px;object-fit:contain}.payment-trust-banks img[src*="crdb-bank"]{padding:2px}
@media(max-width:760px){.payment-trust{display:grid}.payment-trust-banks{justify-content:stretch;display:grid;grid-template-columns:1fr 1fr}.payment-trust-banks>span{justify-content:center}.payment-trust-copy small{font-size:12px}}
@media(max-width:400px){.payment-trust-banks{grid-template-columns:1fr}}

/* v2.4.0 Phase 1 — live seats + reservation countdown */
.live-capacity-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 14px;padding:10px 13px;border:1px solid #D9EAF6;border-radius:12px;background:#F9FCFF;color:var(--navy)}
.live-capacity-strip>span{display:flex;align-items:center;gap:8px;font-size:13px}.live-capacity-strip i{width:8px;height:8px;border-radius:50%;background:#19A957;box-shadow:0 0 0 0 rgba(25,169,87,.35);animation:livePulse 1.8s infinite}.live-capacity-strip small{color:var(--muted);font-size:12px}
.session-card.almost-full,.choice.almost-full{border-color:#F0D698;background:linear-gradient(180deg,#FFFDF8,#FFF9EA)}.session-card.almost-full .meter span,.choice.almost-full .meter span{background:linear-gradient(90deg,#E5A11B,#F2C35A)}
.choice-live-row{display:flex;justify-content:flex-start;margin:10px 0 3px}.choice-live-row .status-pill{font-size:11px}
.reservation-live-hold{position:relative;display:grid;grid-template-columns:1fr auto;gap:12px 18px;overflow:hidden}.reservation-live-hold .countdown-progress{grid-column:1/-1;height:7px;background:rgba(227,161,23,.16);border-radius:999px;overflow:hidden}.reservation-live-hold .countdown-progress span{display:block;height:100%;background:linear-gradient(90deg,#E3A117,#F6C556);border-radius:inherit;transition:width .8s linear}.countdown-clock{font-size:23px;font-weight:800;letter-spacing:.02em;color:#9A6500;margin-top:7px;font-variant-numeric:tabular-nums}.countdown-clock.small{font-size:15px;margin-top:4px}.reservation-live-hold.urgent{background:#FFF3D8;border-color:#EDC15E}.reservation-live-hold.urgent .countdown-clock{color:#B55A00}.reservation-live-hold.urgent .countdown-progress span{background:linear-gradient(90deg,#E98A15,#D95A1B)}.reservation-live-hold.expired{background:var(--redbg)!important;border-color:#F5C1BC!important}.reservation-live-hold.expired .countdown-clock{color:var(--red)}.reservation-live-hold.expired .countdown-progress span{width:0!important;background:var(--red)}
.portal-list-countdown{display:grid!important}.portal-list-countdown small{font-size:11px;color:var(--muted);margin-top:3px}.portal-list-countdown.urgent b{color:#B55A00}.portal-list-countdown.expired b{color:var(--red)}
@media(max-width:640px){.live-capacity-strip{align-items:flex-start;display:grid;gap:4px}.reservation-live-hold{grid-template-columns:1fr}.reservation-live-hold .status-pill{justify-self:start}.countdown-clock{font-size:19px}}
@media(prefers-reduced-motion:reduce){.live-capacity-strip i{animation:none!important}}

/* =========================================================
   v2.4.1 — Waitlist System
   ========================================================= */
.waitlist-ready{position:relative}
.waitlist-ready.session-closed{opacity:1;filter:none;background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);border-color:#b9d9f7}
.waitlist-btn{background:linear-gradient(135deg,#0D47A1,#1976D2);box-shadow:0 10px 24px rgba(13,71,161,.16)}
.waitlist-meta{display:flex;align-items:center;gap:7px;margin:12px 0 2px;color:#456987;font-size:13px;font-weight:700}
.waitlist-meta[hidden]{display:none!important}.waitlist-meta .ui-icon{width:17px;height:17px;color:#0D47A1}.choice-waitlist{justify-content:center;margin-top:10px}.choice-waitlist-cta{margin-top:13px;padding-top:12px;border-top:1px solid #e2edf7;color:#0D47A1;font-weight:800;font-size:14px}

.waitlist-backdrop{position:fixed;inset:0;z-index:360;background:rgba(7,31,62,.46);backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .18s ease}
.waitlist-backdrop.show{opacity:1;pointer-events:auto}.waitlist-modal{position:relative;width:min(720px,100%);max-height:min(92vh,860px);overflow:auto;background:#fff;border:1px solid rgba(144,202,249,.6);border-radius:28px;padding:34px;box-shadow:0 28px 80px rgba(7,31,62,.24);transform:translateY(12px) scale(.985);transition:transform .2s ease}.waitlist-backdrop.show .waitlist-modal{transform:none}.waitlist-close{position:absolute;right:18px;top:16px;width:40px;height:40px;border:0;border-radius:50%;background:#edf5fc;color:#123b63;font-size:25px;cursor:pointer}.waitlist-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#e3f2fd,#cfe8fb);color:#0D47A1;margin-bottom:16px}.waitlist-icon .ui-icon{width:28px;height:28px}.waitlist-modal h2{margin:4px 0 8px;color:#0c3158;font-size:clamp(28px,4vw,38px)}.waitlist-lede{color:#607d98;line-height:1.65;margin:0 0 20px}.waitlist-queue-note{display:flex;align-items:center;gap:12px;background:#f5f9fd;border:1px solid #deebf6;border-radius:16px;padding:14px 16px;margin:0 0 22px}.waitlist-queue-note b{font-size:27px;color:#0D47A1}.waitlist-queue-note span{color:#536f89;font-size:14px}.waitlist-form{margin-top:4px}.waitlist-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.waitlist-fineprint{font-size:12px;line-height:1.55;color:#7590a8;margin:15px 0 0}.waitlist-success{text-align:center}.waitlist-success .success-animation{margin:0 auto 10px}.waitlist-success h2{margin-top:15px}.waitlist-success>p{max-width:560px;margin:8px auto 20px;color:#607d98;line-height:1.65}.waitlist-result{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:left;margin:22px 0}.waitlist-result>div{background:#f7fbff;border:1px solid #deebf6;border-radius:15px;padding:15px}.waitlist-result span{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#7893aa;margin-bottom:5px}.waitlist-result b{color:#0d355d;font-size:15px}.waitlist-result .ref{color:#0D47A1}

.waitlist-toolbar{grid-template-columns:minmax(280px,1fr) auto auto auto}.waitlist-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.waitlist-summary-card{background:linear-gradient(155deg,#fff,#f5faff);border:1px solid #dcebf8;border-radius:20px;padding:20px;box-shadow:0 12px 30px rgba(14,65,111,.06)}.waitlist-summary-card>div:first-child{display:flex;align-items:center;gap:13px}.waitlist-summary-card .cohort-icon{width:44px;height:44px;border-radius:14px;background:#e6f3fd;color:#0D47A1}.waitlist-summary-card h3{margin:2px 0;color:#10385e}.waitlist-summary-numbers{display:flex!important;gap:10px!important;margin:18px 0}.waitlist-summary-numbers span{flex:1;background:#fff;border:1px solid #e4eef7;border-radius:14px;padding:12px}.waitlist-summary-numbers b{display:block;font-size:24px;color:#0D47A1}.waitlist-summary-numbers small{color:#7890a4}.waitlist-summary-card .btn{width:100%}
.waitlist-panel{overflow:hidden}.waitlist-list{display:flex;flex-direction:column}.waitlist-row{display:grid;grid-template-columns:74px minmax(220px,1.25fr) minmax(200px,1fr) 120px auto;align-items:center;gap:18px;padding:17px 4px;border-top:1px solid #edf2f7}.waitlist-row:first-child{border-top:0}.waitlist-position{text-align:center}.waitlist-position>span{display:grid;place-items:center;width:48px;height:48px;margin:auto;border-radius:15px;background:#eaf5fd;color:#0D47A1;font-size:18px;font-weight:900}.waitlist-position .ui-icon{width:21px;height:21px}.waitlist-position small{display:block;margin-top:4px;color:#8298aa;text-transform:capitalize}.waitlist-person b,.waitlist-cohort b{display:block;color:#12395e}.waitlist-person span,.waitlist-cohort span{display:block;color:#607d98;font-size:13px;margin-top:4px}.waitlist-person small,.waitlist-cohort small{display:block;color:#8298aa;margin-top:4px}.waitlist-state{text-align:center}.waitlist-actions-admin{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.cohort-stats{grid-template-columns:repeat(4,1fr)!important}

@media (max-width:980px){.waitlist-toolbar{grid-template-columns:1fr 1fr}.waitlist-toolbar .admin-search{grid-column:1/-1}.waitlist-row{grid-template-columns:64px 1fr auto}.waitlist-cohort{grid-column:2/3}.waitlist-state{grid-column:3/4;grid-row:1/3}.waitlist-actions-admin{grid-column:2/-1;justify-content:flex-start}}
@media (max-width:700px){.waitlist-backdrop{padding:0;align-items:end}.waitlist-modal{width:100%;max-height:94vh;border-radius:26px 26px 0 0;padding:28px 20px 24px}.waitlist-actions{display:grid;grid-template-columns:1fr}.waitlist-actions .btn{width:100%}.waitlist-result{grid-template-columns:1fr}.waitlist-summary-grid{grid-template-columns:1fr}.waitlist-toolbar{grid-template-columns:1fr}.waitlist-toolbar .admin-search{grid-column:auto}.waitlist-row{grid-template-columns:52px 1fr;padding:16px 0}.waitlist-position>span{width:42px;height:42px}.waitlist-cohort,.waitlist-state,.waitlist-actions-admin{grid-column:2/3;grid-row:auto;text-align:left}.waitlist-state{margin-top:5px}.waitlist-actions-admin{justify-content:flex-start;margin-top:7px}.cohort-stats{grid-template-columns:repeat(2,1fr)!important}}
@media (prefers-reduced-motion:reduce){.waitlist-modal,.waitlist-backdrop{transition:none}}

/* =========================================================
   v2.4.2 — Group booking, participant portal, notifications
   and centred booking-detail experience
   ========================================================= */
.group-booking-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #D8E8F6;background:linear-gradient(135deg,#F8FCFF,#EEF7FF);border-radius:18px;margin:22px 0 12px}.group-booking-toolbar>div:first-child{display:grid;gap:4px}.group-booking-toolbar b{color:var(--navy);font-size:17px}.group-booking-toolbar span{font-size:13px;color:var(--muted)}.group-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.group-total-card{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;background:linear-gradient(135deg,#0A3D89,#0D67C6);color:#fff;border-radius:18px;box-shadow:0 15px 32px rgba(13,71,161,.15)}.group-total-card>div{display:grid;gap:4px}.group-total-card span{font-size:12px;color:#D7ECFF;text-transform:uppercase;letter-spacing:.06em}.group-total-card b{font-size:16px}.group-total-card strong{font-size:25px;line-height:1}.participants-section{margin-top:28px}.participants-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:10px}.participants-heading h3{margin:0;color:var(--navy)}.participants-heading p{margin:4px 0 0;color:var(--muted);font-size:13px}.group-participant{position:relative;padding:20px;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(25,71,115,.045)}.participant-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.participant-head>div{display:flex;align-items:center;gap:9px}.participant-head h4{margin:0}.participant-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#E3F2FD;color:#0D47A1;font-weight:800;font-size:13px}.participant-remove{border:0;background:#FFF0F0;color:#A93636;border-radius:999px;padding:8px 11px;font-weight:800;font-size:12px;cursor:pointer}.participant-remove:hover{background:#FFE3E3}

/* Venue visual */
.venue-location-card{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(180px,.72fr);gap:18px;align-items:stretch}.venue-copy{position:relative;z-index:2;min-width:0}.venue-building-visual{position:relative;min-height:285px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.venue-building-visual:before{content:"";position:absolute;inset:auto 3% 3% 3%;height:58%;background:radial-gradient(ellipse at center,rgba(144,202,249,.34),rgba(144,202,249,0) 70%);filter:blur(4px)}.venue-building-visual img{position:relative;z-index:1;display:block;width:auto;max-width:100%;height:305px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 22px rgba(2,31,70,.28))}.venue-location-card .venue-meta{position:static!important;margin-top:30px}.venue-map-mark{opacity:.16!important}

/* Participant portal v2.4.2 */
.portal-v242{max-width:1260px;margin:0 auto;padding:34px 22px 70px}.portal-dashboard-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.portal-dashboard-head h1{margin:3px 0 5px;color:var(--navy);font-size:34px}.portal-dashboard-head p:last-child{margin:0;color:var(--muted)}.portal-v242 .portal-grid{grid-template-columns:230px minmax(0,1fr);gap:20px}.portal-v242 .portal-nav{border:1px solid var(--line);border-radius:20px;background:#fff;padding:22px;height:max-content;position:sticky;top:22px}.portal-ref-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.portal-ref-row h3{font-size:16px;letter-spacing:.02em}.copy-icon-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#F8FBFE;color:var(--navy);cursor:pointer}.copy-icon-btn .ui-icon{width:15px}.portal-v242 .portal-main{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 12px 30px rgba(26,70,111,.05)}.portal-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.portal-overview-grid .summary-card{margin:0!important}.portal-payment-card{border:1px solid #D8E8F6;background:#F8FBFE;border-radius:16px;padding:18px}.portal-payment-card.issue{border-color:#F2C6C4;background:#FFF8F7}.portal-payment-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}.portal-payment-title span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.portal-payment-title h3{margin:3px 0 0;color:var(--navy)}.portal-payment-title img{width:76px;height:32px;object-fit:contain}.portal-payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.portal-payment-grid>div{padding:10px;border-radius:10px;background:#fff;border:1px solid #E8F0F6}.portal-payment-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.portal-payment-grid b{display:block;margin-top:4px;font-size:13px;overflow-wrap:anywhere}.portal-payment-note{margin-top:12px;padding:12px;border-radius:11px;background:#FFF0EF;color:#792A27}.portal-payment-note p{margin:4px 0 0}.portal-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-section-head h3{margin-bottom:2px}.portal-section-head p{margin:0;color:var(--muted);font-size:13px}.group-chip{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#E3F2FD;color:#0D47A1;font-size:12px;font-weight:800}.portal-action-bar{display:flex;gap:9px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--line);margin-top:24px}.portal-timeline{grid-template-columns:repeat(4,1fr);display:grid;gap:0}.portal-timeline .tline{display:block;padding:0 13px 0 0;position:relative}.portal-timeline .tline:before{content:"";position:absolute;top:7px;left:14px;right:0;height:2px;background:#DCE8F2}.portal-timeline .tline:last-child:before{display:none}.portal-timeline .tmark{position:relative;z-index:2;width:16px;height:16px;border-radius:50%;border:3px solid #DCE8F2;background:#fff;margin-bottom:12px}.portal-timeline .tline.done .tmark{border-color:#2196F3;background:#2196F3;box-shadow:0 0 0 4px #E3F2FD}.portal-timeline .tcontent h4{margin:0 0 5px;color:var(--navy);font-size:14px}.portal-timeline .tcontent p{font-size:12px;color:var(--muted);line-height:1.45;margin:0}.portal-hold.urgent{border-color:#F1C15D!important;background:#FFF8E6!important}.portal-hold.expired{border-color:#E7C4C4!important;background:#FFF4F4!important}.portal-list-countdown.urgent b,.portal-hold.urgent .countdown-clock{color:#A65E00}.portal-list-countdown.expired b,.portal-hold.expired .countdown-clock{color:#A93636}

/* Notification centre */
.notification-wrap{position:relative}.admin-notification-btn{position:relative;width:38px;height:38px;border-radius:11px;border:1px solid #D7E4EF;background:#fff;color:#0D47A1;display:grid;place-items:center;cursor:pointer}.admin-notification-btn .admin-icon{width:19px;height:19px}.admin-notification-btn:hover{background:#EEF7FF}.admin-notification-btn.has-unread{border-color:#A7D3F6;box-shadow:0 0 0 3px rgba(33,150,243,.08)}.admin-notification-btn em{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#E24444;color:#fff;font-style:normal;font-size:10px;font-weight:900;display:grid;place-items:center;border:2px solid #F4F8FC}.admin-notification-panel{position:absolute;right:0;top:48px;width:min(390px,calc(100vw - 32px));background:#fff;border:1px solid #DCE8F1;border-radius:18px;box-shadow:0 22px 60px rgba(11,46,84,.2);z-index:130;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.18s ease;overflow:hidden}.admin-notification-panel.open{opacity:1;visibility:visible;transform:none}.notification-panel-head{padding:16px 17px;border-bottom:1px solid #E9F0F5;display:flex;align-items:center;justify-content:space-between;gap:12px}.notification-panel-head>div{display:grid}.notification-panel-head span{font-weight:900;color:var(--navy)}.notification-panel-head b{font-size:11px;color:var(--muted);font-weight:600}.notification-list{max-height:430px;overflow:auto}.notification-item{display:grid;grid-template-columns:38px 1fr;gap:11px;padding:14px 16px;border-bottom:1px solid #EDF3F7;background:#fff}.notification-item.unread{background:#F5FAFF}.notification-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#E3F2FD;color:#0D47A1}.notification-icon.expiry{background:#FFF4D8;color:#966100}.notification-icon.approved{background:#EAF9EF;color:#1C7A43}.notification-icon.group{background:#F0EFFF;color:#5847A9}.notification-icon .admin-icon{width:18px}.notification-item>div:last-child{display:grid;gap:2px}.notification-item b{font-size:13px;color:#12324E}.notification-item span{font-size:12px;color:#526A80}.notification-item small{font-size:10px;color:#8193A4}.notification-empty{padding:30px;text-align:center;color:var(--muted)}

/* Approval safety */
.approval-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:17px 0;padding:11px;border-radius:14px;background:#F6FAFD;border:1px solid #E2EDF5}.approval-summary>div{padding:9px 10px;background:#fff;border:1px solid #E9F0F5;border-radius:10px}.approval-summary span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.approval-summary b{display:block;margin-top:4px;color:var(--navy);overflow-wrap:anywhere}.admin-confirm-modal{max-width:520px!important}

/* Centered booking-detail panel */
.detail-drawer.centered-drawer{left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%);width:min(760px,calc(100vw - 48px))!important;height:min(860px,calc(100vh - 48px));max-height:calc(100vh - 48px);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;animation:centerDrawerIn .25s ease!important}@keyframes centerDrawerIn{from{opacity:0;transform:translate(-50%,-47%) scale(.985)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.centered-drawer .drawer-head{position:relative;flex:0 0 auto;padding:24px 28px 20px}.centered-drawer .drawer-body{overflow:auto;flex:1 1 auto;padding:0 28px 32px}.drawer-id-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.drawer-id-row h2{font-size:27px}.drawer-subline{margin:6px 0 0;color:var(--muted);font-size:13px}.drawer-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.drawer-section-title h3{margin:0}.drawer-section-title>span{font-size:12px;color:var(--muted)}.clean-contact-grid>div{background:transparent!important;border-bottom:1px solid #EDF3F7;border-radius:0!important;padding:10px 8px!important}.clean-contact-grid span,.payment-detail-grid span{color:#8193A4!important;font-size:10px!important}.clean-contact-grid b,.payment-detail-grid b{color:#193650;font-size:14px}.drawer-inline-meta{display:flex;justify-content:space-between;gap:14px;padding:11px 8px;border-bottom:1px solid #EDF3F7}.drawer-inline-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#8193A4}.drawer-inline-meta b{font-size:13px;color:#193650}.amount-hero-card{margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:19px 20px;background:linear-gradient(135deg,#0D47A1,#1976D2);color:#fff;border-radius:16px;box-shadow:0 13px 26px rgba(13,71,161,.16)}.amount-hero-card>div{display:grid;gap:4px}.amount-hero-card span{font-size:11px;color:#D9EDFF;text-transform:uppercase;letter-spacing:.05em}.amount-hero-card b{font-size:25px}.amount-hero-card strong{font-size:12px}.centered-drawer .drawer-section{border-top:1px solid #E8EFF5!important;padding:20px 0}.person-row{display:grid!important;grid-template-columns:32px minmax(0,1fr) auto;align-items:center}.person-index{width:28px;height:28px;border-radius:50%;background:#E3F2FD;color:#0D47A1!important;display:grid!important;place-items:center;font-size:11px!important;font-weight:900}.payment-detail-grid>div{background:#F8FBFD!important;border:1px solid #E7EEF4;border-radius:11px!important}.drawer-bank-logo{max-height:42px;object-fit:contain}

@media(max-width:900px){.venue-location-card{grid-template-columns:1fr}.venue-building-visual{position:absolute;right:-30px;bottom:0;width:48%;opacity:.38;pointer-events:none}.venue-building-visual img{height:300px}.venue-copy{max-width:76%}.portal-v242 .portal-grid{grid-template-columns:1fr}.portal-v242 .portal-nav{display:none}.portal-overview-grid{grid-template-columns:1fr}.portal-timeline{grid-template-columns:1fr;gap:0}.portal-timeline .tline{display:grid;grid-template-columns:28px 1fr;gap:8px;padding:0 0 18px}.portal-timeline .tline:before{top:15px;left:7px;bottom:0;width:2px;height:auto;right:auto}.portal-timeline .tmark{grid-column:1;margin:0}.portal-timeline .tcontent{grid-column:2}.portal-action-bar .btn{flex:1 1 220px}.detail-drawer.centered-drawer{width:min(720px,calc(100vw - 28px))!important;height:calc(100vh - 28px);max-height:calc(100vh - 28px)}}
@media(max-width:760px){.group-booking-toolbar{align-items:flex-start;flex-direction:column}.group-toolbar-actions{width:100%}.group-toolbar-actions .btn{flex:1}.group-total-card{align-items:flex-start;flex-direction:column}.participants-heading{align-items:flex-start;flex-direction:column}.portal-v242{padding:24px 14px 60px}.portal-dashboard-head{align-items:flex-start;flex-direction:column}.portal-dashboard-head .btn{width:100%}.portal-v242 .portal-main{padding:18px 15px}.portal-payment-grid{grid-template-columns:1fr}.admin-top-actions{display:flex!important}.admin-top-actions>*:not(.notification-wrap):not(.admin-refresh-btn){display:none!important}.notification-wrap{display:block!important}.admin-notification-panel{position:fixed;top:74px;right:12px;left:12px;width:auto}.detail-drawer.centered-drawer{left:0!important;top:env(safe-area-inset-top)!important;transform:none!important;width:100vw!important;height:calc(100vh - env(safe-area-inset-top))!important;max-height:none;border-radius:0}.centered-drawer .drawer-head{padding:18px 17px}.centered-drawer .drawer-body{padding:0 17px 28px}.clean-contact-grid{grid-template-columns:1fr 1fr!important}.amount-hero-card{align-items:flex-start;flex-direction:column}.venue-location-card{min-height:500px!important}.venue-copy{max-width:100%;padding-bottom:235px}.venue-building-visual{position:absolute;right:-10px;bottom:0;width:74%;height:265px;opacity:.78}.venue-building-visual img{height:260px}}
@media(max-width:470px){.clean-contact-grid{grid-template-columns:1fr!important}.approval-summary{grid-template-columns:1fr}.portal-action-bar{display:grid;grid-template-columns:1fr}.portal-action-bar .btn{width:100%}.group-toolbar-actions{display:grid;grid-template-columns:1fr;width:100%}}

/* =========================================================
   v2.4.9 — Production Complete operations & performance layer
   ========================================================= */
.booking-billing-card{margin:22px 0;padding:20px;border:1px solid #dceaf5;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff)}
.billing-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.billing-card-head h3{margin:2px 0 5px;color:var(--navy)}.billing-card-head p{margin:0;color:var(--muted);font-size:13px}.compact-payer-options{margin-bottom:14px}.billing-company-fields{margin-top:14px}.billing-hint{margin:10px 0 0}.proof-zone-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.proof-zone-head .btn{flex:0 0 auto}
.amount-match{color:#177245!important}.amount-mismatch{color:#b94343!important}.approval-risk{grid-column:1/-1!important;background:#fff3f1!important;border-color:#f2c7c2!important}.approval-risk b{color:#a83e36!important}

/* Global admin search */
.admin-global-search-wrap{position:relative}.admin-global-search-trigger{height:38px;border:1px solid #d7e4ef;background:#fff;border-radius:11px;padding:0 10px;display:flex;align-items:center;gap:8px;color:#36536d;cursor:pointer}.admin-global-search-trigger .admin-icon{width:16px}.admin-global-search-trigger span{font-size:12px;font-weight:700}.admin-global-search-trigger kbd{font:600 10px/1 Actor,Arial,sans-serif;color:#8093a4;background:#f1f5f8;border:1px solid #e1e8ee;border-radius:6px;padding:3px 5px}.admin-global-search-panel{position:absolute;right:0;top:47px;width:min(560px,calc(100vw - 34px));background:#fff;border:1px solid #dbe7f0;border-radius:18px;box-shadow:0 24px 70px rgba(9,40,73,.24);z-index:150;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.17s ease;overflow:hidden}.admin-global-search-panel.open{opacity:1;visibility:visible;transform:none}.global-search-input{display:grid;grid-template-columns:22px 1fr 32px;align-items:center;gap:8px;padding:13px 14px;border-bottom:1px solid #e8f0f5}.global-search-input .admin-icon{width:18px;color:#5d7890}.global-search-input input{border:0;outline:0;font:600 14px Actor,Arial,sans-serif;color:#163651;min-width:0}.global-search-input button{border:0;background:#edf4f8;color:#516f87;width:30px;height:30px;border-radius:9px;font-size:20px;cursor:pointer}.global-search-results{max-height:480px;overflow:auto;padding:7px}.global-result{width:100%;border:0;background:#fff;border-radius:12px;padding:10px;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;text-align:left;cursor:pointer}.global-result:hover{background:#f3f8fc}.global-result-icon{width:36px;height:36px;border-radius:10px;background:#e9f4fd;color:#0D47A1;display:grid;place-items:center}.global-result-icon .admin-icon{width:17px}.global-result>span:nth-child(2){display:grid;gap:2px}.global-result b{font-size:13px;color:#173752}.global-result small{font-size:11px;color:#6f8598}.global-result em{font-size:10px;font-style:normal;text-transform:uppercase;letter-spacing:.05em;color:#7c90a2}.global-search-empty{padding:28px;text-align:center;color:#748ca1;font-size:13px}

/* Reconciliation */
.recon-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.recon-kpis article{background:#fff;border:1px solid #dfeaf3;border-radius:17px;padding:17px;box-shadow:0 10px 28px rgba(15,59,96,.05)}.recon-kpis article.risk{background:#fff9f7;border-color:#f2d2ca}.recon-kpis span{display:block;color:#71889b;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.recon-kpis b{display:block;color:#0d3b67;font-size:28px;margin:4px 0}.recon-kpis article.risk b{color:#b54b3f}.recon-kpis small{color:#8799a8}.recon-table{display:flex;flex-direction:column}.recon-row{display:grid;grid-template-columns:minmax(180px,1.35fr) 115px 115px 115px minmax(170px,1fr) 110px;gap:12px;align-items:center;padding:14px 4px;border-top:1px solid #edf2f6}.recon-row:first-child{border-top:0}.recon-row.has-risk{background:linear-gradient(90deg,rgba(255,247,244,.8),transparent)}.recon-row>div{display:grid;gap:3px}.recon-row span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#8799aa}.recon-row b{font-size:12px;color:#183852}.recon-flags{display:flex!important;flex-wrap:wrap;gap:5px!important}.recon-flags span{background:#fff0ed;color:#a7473d!important;border:1px solid #f1c9c2;border-radius:999px;padding:4px 7px;font-size:9px!important}.recon-flags em{background:#edf8f1;color:#247449;border-radius:999px;padding:4px 7px;font-size:9px;font-style:normal;text-transform:uppercase}

/* Corporate */
.corporate-list{display:flex;flex-direction:column}.corporate-row{display:grid;grid-template-columns:44px minmax(240px,1.5fr) 150px 135px auto;gap:14px;align-items:center;padding:14px 3px;border-top:1px solid #edf2f6}.corporate-row:first-child{border-top:0}.company-avatar{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#0D47A1,#2196F3);display:grid;place-items:center;color:#fff;font-weight:900}.company-main{display:grid;gap:2px}.company-main b{color:#153956}.company-main span,.company-main small{color:#70869a;font-size:11px}.corporate-row>div:not(.company-avatar):not(.company-main){display:grid;gap:3px}.corporate-row>div>span{font-size:10px;text-transform:uppercase;color:#8597a6}.corporate-row>div>b{font-size:12px;color:#183952}.company-billing-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.company-billing-summary>div{background:#f7fbfe;border:1px solid #e3edf5;border-radius:11px;padding:10px}.company-billing-summary span{display:block;font-size:10px;text-transform:uppercase;color:#8095a7}.company-billing-summary b{display:block;margin-top:4px;color:#183952;font-size:12px}

/* Reports */
.reports-filter{margin-bottom:18px}.report-date-filter{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.report-date-filter label{display:grid;gap:5px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#758ca0}.report-date-filter input{min-width:160px;border:1px solid #d8e5ef;border-radius:10px;padding:10px 11px;font:13px Actor,Arial,sans-serif;color:#183952}.report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.report-card{background:#fff;border:1px solid #dfeaf3;border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(15,59,96,.05);display:flex;flex-direction:column;min-height:190px}.report-icon{width:42px;height:42px;border-radius:13px;background:#e6f3fd;color:#0D47A1;display:grid;place-items:center}.report-icon .admin-icon{width:20px}.report-card h3{margin:15px 0 5px;color:#173b5c;font-size:15px}.report-card p{margin:0;color:#71889c;font-size:12px;flex:1}.report-actions{display:flex;gap:6px;margin-top:18px}.report-actions button{flex:1;border:1px solid #d6e5ef;background:#f8fbfe;border-radius:8px;padding:8px 4px;color:#0D47A1;font:700 10px Actor,Arial,sans-serif;cursor:pointer}.report-actions button:hover{background:#eaf5fd}

/* Booking detail activity and notes */
.admin-note-compose{display:grid;grid-template-columns:1fr auto;gap:9px;margin-bottom:12px}.admin-note-compose textarea{min-height:74px;resize:vertical;border:1px solid #dce7ef;border-radius:12px;padding:11px;font:13px Actor,Arial,sans-serif;color:#183952}.admin-notes-list{display:flex;flex-direction:column;gap:8px}.admin-notes-list article{background:#f7fafc;border:1px solid #e6eef4;border-radius:12px;padding:11px 12px}.admin-notes-list article>div{display:flex;justify-content:space-between;gap:10px}.admin-notes-list b{font-size:12px;color:#183952}.admin-notes-list span{font-size:10px;color:#8395a5}.admin-notes-list p{margin:6px 0 0;color:#4f687d;font-size:12px;line-height:1.5}.booking-activity-timeline{display:flex;flex-direction:column}.booking-activity-timeline article{display:grid;grid-template-columns:34px 1fr;gap:10px;position:relative;padding:0 0 16px}.booking-activity-timeline article:not(:last-child):before{content:"";position:absolute;left:16px;top:30px;bottom:0;width:1px;background:#dfe9f1}.activity-dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e8f4fd;color:#0D47A1;z-index:1}.activity-dot .admin-icon{width:15px}.booking-activity-timeline b{font-size:12px;color:#183952}.booking-activity-timeline p{margin:2px 0;color:#6b8295;font-size:11px}.booking-activity-timeline small{color:#92a1ad;font-size:10px}

/* Better skeletons, loading and accessibility */
.admin-loading{display:grid;gap:12px;padding:8px}.admin-loading:before,.admin-loading:after,.admin-loading i{content:"";display:block;height:76px;border-radius:14px;background:linear-gradient(90deg,#edf3f7 25%,#f8fbfd 38%,#edf3f7 55%);background-size:220% 100%;animation:shimmer249 1.25s infinite}.admin-loading i:nth-child(2){height:150px}.admin-loading i:nth-child(3){height:100px}@keyframes shimmer249{to{background-position:-220% 0}}
:focus-visible{outline:3px solid rgba(33,150,243,.38);outline-offset:2px}.btn:focus-visible,.side-menu button:focus-visible{outline-color:#90CAF9}

@media(max-width:1180px){.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recon-row{grid-template-columns:minmax(180px,1fr) 110px 110px 1fr}.recon-row>div:nth-child(4),.recon-row>div:nth-child(6){display:none}.corporate-row{grid-template-columns:44px minmax(220px,1fr) 130px auto}.corporate-row>div:nth-child(4){display:none}}
@media(max-width:800px){.recon-kpis{grid-template-columns:1fr 1fr}.report-grid{grid-template-columns:1fr 1fr}.admin-global-search-trigger span,.admin-global-search-trigger kbd{display:none}.admin-global-search-trigger{width:38px;padding:0;justify-content:center}.corporate-row{grid-template-columns:44px 1fr auto}.corporate-row>div:nth-child(3){display:none}.company-billing-summary{grid-template-columns:1fr}.proof-zone-head{display:grid}.proof-zone-head .btn{width:100%}.admin-note-compose{grid-template-columns:1fr}.admin-note-compose .btn{width:100%}}
@media(max-width:560px){.recon-kpis{grid-template-columns:1fr 1fr;gap:9px}.recon-kpis article{padding:13px}.recon-kpis b{font-size:23px}.report-grid{grid-template-columns:1fr}.recon-row{grid-template-columns:1fr auto;padding:13px 0}.recon-row>div:nth-child(2),.recon-row>div:nth-child(3),.recon-row>div:nth-child(4){display:none}.corporate-row{grid-template-columns:38px 1fr}.corporate-row>div:last-child{grid-column:1/-1}.billing-card-head{display:grid}.compact-payer-options{grid-template-columns:1fr!important}.admin-main{padding-bottom:calc(36px + env(safe-area-inset-bottom))}.admin-mobile-bar{padding-top:max(10px,env(safe-area-inset-top))}.detail-drawer.centered-drawer{padding-bottom:env(safe-area-inset-bottom)}}
@media(prefers-reduced-motion:reduce){.admin-global-search-panel,.global-result,.report-card,.recon-row{transition:none!important}.admin-loading:before,.admin-loading:after,.admin-loading i{animation:none!important}}

/* v2.4.9.1 Search reliability hotfix */
.global-search-input{grid-template-columns:22px minmax(0,1fr) auto 32px}
.global-search-submit{border:0;background:var(--navy);color:#fff;border-radius:9px;min-height:32px;padding:0 12px;font:700 11px Actor,Arial,sans-serif;cursor:pointer;white-space:nowrap}
.global-search-submit:hover{filter:brightness(1.06)}
.global-search-submit:disabled{opacity:.65;cursor:wait}
.global-search-close{border:0;background:#edf4f8;color:#516f87;width:30px;height:30px;border-radius:9px;font-size:20px;cursor:pointer}
.global-search-loading{padding:22px 18px;display:grid;grid-template-columns:repeat(3,8px) 1fr;align-items:center;gap:6px;color:#6f8598;font-size:12px}
.global-search-loading span{width:8px;height:8px;border-radius:999px;background:#2196F3;animation:globalSearchPulse .9s infinite ease-in-out}
.global-search-loading span:nth-child(2){animation-delay:.12s}.global-search-loading span:nth-child(3){animation-delay:.24s}
.global-search-loading p{margin:0 0 0 6px}
.global-search-error{display:grid;gap:7px}.global-search-error b{color:#9c2d2d}.global-search-error span{display:block;color:#748ca1}.global-search-error .link-btn{justify-self:center}
@keyframes globalSearchPulse{0%,80%,100%{transform:scale(.65);opacity:.45}40%{transform:scale(1);opacity:1}}
.search-submit:disabled{opacity:.65;cursor:wait}
@media(max-width:640px){
  .admin-global-search-panel{position:fixed;left:12px;right:12px;top:max(74px,calc(env(safe-area-inset-top) + 58px));width:auto;max-height:calc(100dvh - 90px);border-radius:16px}
  .global-search-input{grid-template-columns:20px minmax(0,1fr) 30px;padding:11px}
  .global-search-submit{grid-column:1/-1;grid-row:2;width:100%;height:36px}
  .global-search-close{grid-column:3;grid-row:1}
  .global-search-input>svg{grid-column:1;grid-row:1}.global-search-input>input{grid-column:2;grid-row:1}
  .global-search-results{max-height:calc(100dvh - 180px)}
}
@media(prefers-reduced-motion:reduce){.global-search-loading span{animation:none!important}}


/* ============================================================
   v2.4.9.2 — System-wide layout hardening + PPA loading polish
   ============================================================ */
html,body,#app{max-width:100%;overflow-x:clip}
img,svg,video,canvas{max-width:100%}
input,select,textarea,button{min-width:0;max-width:100%}
.admin-shell,.admin-layout,.admin-main,#adminContent,.booking-layout,.booking-workspace,.booking-card,.portal-v242,.portal-v242 .portal-grid,.portal-v242 .portal-main,.portal-overview-grid,.portal-overview-grid>*,.summary-card,.portal-payment-card,.portal-section,.drawer-body,.drawer-section,.dashboard-grid,.dashboard-analytics-grid,.admin-panels,.payment-queue-panel,.table-wrap{min-width:0}
.btn,a.btn{box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.22}
.wa-inline{min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.wa-inline img{flex:none}

/* Participant portal: stable, aligned action area */
.portal-action-bar{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important;align-items:stretch;padding-top:24px}
.portal-action-bar>.btn,.portal-action-bar>a.btn{width:100%!important;min-height:58px;margin:0!important;padding:13px 14px;display:flex;align-items:center;justify-content:center}
.portal-action-bar .wa-inline{width:100%}
.portal-section-head>*{min-width:0}
.portal-person{min-width:0}
.portal-person>div{min-width:0}
.portal-person b,.portal-person small{overflow-wrap:anywhere}
.portal-payment-grid>div{min-width:0}
.portal-payment-grid b{overflow-wrap:anywhere}

/* Timeline: stop copy from colliding with the next milestone */
.portal-timeline{min-width:0}
.portal-timeline .tline{min-width:0;padding-right:18px}
.portal-timeline .tcontent{min-width:0;padding-right:2px}
.portal-timeline .tcontent h4,.portal-timeline .tcontent p{max-width:100%;overflow-wrap:anywhere;word-break:normal}
.portal-timeline .tcontent p{line-height:1.55}

/* Form / card sweep */
.form-grid>*,.choice-grid>*,.payment-options>*,.detail-grid>*,.clean-contact-grid>*,.booking-mini-grid>*,.company-billing-summary>*,.recon-kpis>*,.report-grid>*,.cohort-admin-grid>*{min-width:0}
.field input,.field select,.field textarea{width:100%;box-sizing:border-box}
.booking-actions,.hero-buttons,.group-toolbar-actions,.admin-top-actions,.verification-actions,.drawer-actions,.report-actions{flex-wrap:wrap}
.booking-actions>* ,.hero-buttons>* ,.group-toolbar-actions>* ,.admin-top-actions>* ,.verification-actions>* ,.drawer-actions>*{min-width:0}
.table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.data-table,.modern-table{max-width:none}
.drawer-head,.drawer-id-row,.drawer-section-title,.portal-payment-title,.portal-title-row{min-width:0}
.drawer-id-row>* ,.drawer-section-title>* ,.portal-payment-title>* ,.portal-title-row>*{min-width:0}

/* Admin panels: avoid clipping/overflow at laptop widths */
.admin-top{flex-wrap:wrap}
.admin-top-actions{justify-content:flex-end}
.premium-toolbar,.admin-toolbar,.payment-toolbar,.waitlist-toolbar,.participant-toolbar{max-width:100%}
.recon-row>*,.corporate-row>*{min-width:0;overflow-wrap:anywhere}
.report-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
.report-actions button{width:100%;min-width:0}

/* The supplied PPA loader sits above all app overlays except success */
#px-loader.px-overlay{z-index:20000}
.pxs-overlay{z-index:21000!important}

@media(max-width:1100px){
  .portal-action-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal-timeline .tline{padding-right:12px}
}
@media(max-width:900px){
  .portal-action-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal-timeline .tline{padding-right:0}
  .portal-timeline .tcontent{padding-right:0}
}
@media(max-width:680px){
  .portal-action-bar{grid-template-columns:1fr}
  .portal-action-bar>.btn,.portal-action-bar>a.btn{min-height:52px}
  .portal-payment-grid,.clean-contact-grid,.company-billing-summary{grid-template-columns:1fr!important}
  .portal-section-head{align-items:flex-start;flex-direction:column}
  .report-actions{grid-template-columns:1fr}
  .admin-top-actions{width:100%;justify-content:flex-start}
  .admin-top-actions>.btn,.admin-top-actions>button{flex:1 1 150px}
}
@media(max-width:430px){
  .portal-v242{padding-left:10px;padding-right:10px}
  .portal-v242 .portal-main{padding-left:13px;padding-right:13px;border-radius:17px}
  .portal-action-bar{gap:9px}
  .portal-action-bar>.btn,.portal-action-bar>a.btn{font-size:14px;padding:12px 10px}
  .booking-card{padding-left:14px!important;padding-right:14px!important}
  .admin-main{padding-left:12px;padding-right:12px}
}
@media(prefers-reduced-motion:reduce){
  #px-loader .px-cap,#px-loader .px-base,#px-loader .px-shadow,#px-loader .px-bar::after{animation:none!important}
}


/* ============================================================
   v2.4.9.3 — Portal alignment + centered modal loader polish
   ============================================================ */

/* Participant portal actions: six confirmed actions resolve to an even 3×2 grid. */
.portal-action-bar{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch;
}
.portal-action-bar>.btn,.portal-action-bar>a.btn{
  min-width:0!important;
  width:100%!important;
  min-height:62px;
  height:100%;
  margin:0!important;
  padding:14px 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  text-wrap:balance;
  line-height:1.25!important;
}
.portal-action-bar .wa-inline{width:100%;min-width:0;line-height:1.25}
#portalActionMsg:empty{display:none}
#portalActionMsg{margin-top:14px}

/* Booking journey: give every milestone its own breathing room and keep connectors behind content. */
.portal-timeline{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:start;
}
.portal-timeline .tline{
  min-width:0;
  padding:0!important;
  position:relative;
}
.portal-timeline .tline:before{
  left:15px!important;
  right:-18px!important;
  top:8px!important;
  z-index:0;
}
.portal-timeline .tmark{z-index:2!important;margin-bottom:14px!important}
.portal-timeline .tcontent{
  min-width:0;
  padding:0 4px 0 0!important;
}
.portal-timeline .tcontent h4{
  margin:0 0 7px!important;
  font-size:14px!important;
  line-height:1.28!important;
  text-wrap:balance;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.portal-timeline .tcontent p{
  margin:0!important;
  max-width:24ch;
  font-size:12.5px!important;
  line-height:1.55!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Centered modal loader — blocks background while async work is running. */
#px-loader.px-overlay{
  z-index:22000!important;
  display:grid!important;
  place-items:center!important;
  padding:20px!important;
  background:rgba(8,29,68,.46)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  backdrop-filter:blur(8px)!important;
}
#px-loader .px-loader{
  width:min(360px,calc(100vw - 32px))!important;
  max-width:100%!important;
  padding:30px 28px 26px!important;
  border:1px solid rgba(255,255,255,.85)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.985)!important;
  box-shadow:0 28px 80px rgba(8,35,80,.32)!important;
}
#px-loader .px-mark{width:92px!important}
#px-loader .px-bar{width:min(190px,75%)!important;margin-top:22px!important}
#px-loader .px-msg{margin-top:15px!important;text-align:center!important;font-weight:600!important}

/* Broader anti-overlap guard for key card/button layouts. */
.portal-main,.portal-main section,.portal-main article,.portal-overview-grid>*,.portal-payment-grid>*,.portal-section-head>*,.summary-card,.payment-card,.booking-card,.admin-main,.admin-card{min-width:0}
.portal-main h1,.portal-main h2,.portal-main h3,.portal-main h4,.portal-main p,.portal-main b,.portal-main span{max-width:100%}
.portal-main p,.portal-main b,.portal-main small{overflow-wrap:anywhere}

@media(max-width:980px){
  .portal-action-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .portal-timeline{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 24px!important}
  .portal-timeline .tline:before{display:none!important}
  .portal-timeline .tline{
    padding:15px!important;
    border:1px solid var(--line);
    border-radius:14px;
    background:#FAFCFF;
  }
  .portal-timeline .tmark{margin-bottom:10px!important}
  .portal-timeline .tcontent p{max-width:none}
}
@media(max-width:680px){
  .portal-action-bar{grid-template-columns:1fr!important}
  .portal-action-bar>.btn,.portal-action-bar>a.btn{min-height:54px}
  .portal-timeline{grid-template-columns:1fr!important;gap:10px!important}
  #px-loader.px-overlay{padding:14px!important}
  #px-loader .px-loader{width:min(330px,calc(100vw - 28px))!important;padding:26px 22px 22px!important;border-radius:21px!important}
  #px-loader .px-mark{width:82px!important}
}
