*{box-sizing:border-box}body{margin:0;font-family:Arial,'Segoe UI',sans-serif;color:#153449;background:#f5f9fb;line-height:1.55}a{color:#087e8e;text-decoration:none}a:hover{text-decoration:underline}.topbar{height:76px;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1230px)/2));border-bottom:1px solid #e3ecef;gap:24px}.brand{display:flex;align-items:center;gap:14px;color:#17394b;font-size:20px;font-weight:700;white-space:nowrap}.brand img{width:66px;height:44px;object-fit:contain}.brand b{color:#099b98}nav{display:flex;align-items:center;gap:25px}nav a{font-size:14px;font-weight:600;color:#3d5665}.navbtn{display:inline-flex;border:1px solid #d4e2e7;border-radius:9px;padding:10px 15px;background:white;font-weight:600;cursor:pointer}.solid{background:#078a92;color:white!important}.inline{display:inline}.hero{background:#073d4b url('/assets/images/fpd-design.png') right center/auto 100% no-repeat;color:white;min-height:330px;display:flex;align-items:center}.hero-content{width:min(1200px,calc(100% - 48px));margin:auto;padding:56px 0}.hero h1{font-size:clamp(31px,4vw,53px);max-width:630px;line-height:1.13;margin:13px 0}.hero p{max-width:610px;color:#d2e7e9;font-size:17px}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:800;color:#79e6db}.eyebrow.dark{color:#088c91}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:9px;border:0;cursor:pointer;text-decoration:none;font-weight:700;font-size:14px}.btn-primary{background:#087f90;color:white}.btn-light{background:white;color:#074657}.btn-ghost{background:#e9f4f5;color:#086677}.btn-small{padding:8px 11px}.section{max-width:1240px;margin:auto;padding:46px 24px}.section.narrow{max-width:860px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:24px}.section-head h1,.section-head h2{margin:5px 0}.section-head p{color:#6b808c;margin:0}h1{font-size:31px}h2{font-size:25px;margin:0 0 15px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.event-card,.panel{border:1px solid #e1ecf1;border-radius:15px;background:#fff;box-shadow:0 6px 25px rgba(11,56,78,.035)}.event-card{overflow:hidden}.event-cover{height:130px;background:linear-gradient(130deg,#073d4b,#0ba59b);display:flex;align-items:end;padding:16px;color:white;font-weight:700;letter-spacing:.1em}.event-content{padding:20px}.event-content h3{margin:10px 0;font-size:19px}.muted,.help{color:#6a808c;font-size:14px}.seats{font-size:13px;font-weight:600}.tag{display:inline-flex;font-size:11px;font-weight:800;padding:4px 9px;border-radius:6px;background:#e5f5f5;color:#087a83;text-transform:uppercase}.tag.paid{background:#fff1df;color:#9a5b11}.about{background:#eaf4f4;padding:55px max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center;gap:30px}.about div:first-child{max-width:720px}.about-icon{font-size:90px;color:#05978f}.panel{padding:28px;margin:18px 0}.panel h1{margin:6px 0 15px}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:24px 0;border-top:1px solid #e4eff2;margin-top:25px}.form{display:grid;gap:16px}.form label{font-weight:600;font-size:14px;display:grid;gap:6px}.form input,.form select,.form textarea{border:1px solid #cadbe2;border-radius:9px;padding:12px;font:inherit;width:100%;background:white}.form input:focus,.form textarea:focus{outline:2px solid #0ca5a7}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.auth-grid{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 146px)}.auth-art{background:linear-gradient(145deg,#064353,#069f96);color:white;padding:10vw 7vw}.auth-art h1{font-size:46px}.auth-art p{font-size:18px;color:#dcf3f1}.auth-form{margin:auto;padding:38px;width:min(490px,90%)}.full{width:100%}.alert{max-width:1200px;margin:20px auto 0;padding:13px 17px;border-radius:10px;background:#fff5df;border:1px solid #f3d89f}.alert.success{background:#e5f7eb;border-color:#b9dec8}.alert.error{background:#fff0ef;border-color:#f3c4c0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:15px;border-bottom:1px solid #eaf0f3;text-align:left;font-size:14px}th{font-size:12px;text-transform:uppercase;color:#758a94}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat{padding:20px;background:white;border:1px solid #e1ecf1;border-radius:14px}.stat span{display:block;color:#718891}.stat strong{display:block;font-size:30px}.actions{display:flex;gap:10px}.empty{padding:30px;background:white;border-radius:12px}footer{min-height:70px;display:flex;justify-content:space-between;align-items:center;padding:15px 6%;color:#82919a;border-top:1px solid #e3ecef;font-size:12px}@media(max-width:840px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-grid{grid-template-columns:1fr}.auth-art{padding:35px}.auth-art h1{font-size:30px}.topbar{height:auto;flex-wrap:wrap;padding:12px 18px}nav{gap:10px;flex-wrap:wrap}.facts{grid-template-columns:repeat(2,1fr)}}@media(max-width:570px){.cards,.two,.stats{grid-template-columns:1fr}.section{padding:28px 16px}.panel{padding:18px}.hero{background:#073d4b}.hero-content{padding:36px 0}.section-head{align-items:start;flex-direction:column}.about{padding:30px 20px}.about-icon{display:none}}

/* Webinar media */
.event-cover{background-size:cover;background-position:center;min-height:158px}.detail-cover{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin-bottom:20px}.admin-webinar-thumb{width:72px;height:46px;object-fit:cover;border-radius:7px;vertical-align:middle;margin-right:12px}.image-upload{padding:18px;border:1px dashed #9cc8cd;background:#f4fbfc;border-radius:12px;display:grid;gap:9px}.image-upload input[type=file]{background:white}.upload-current,.upload-preview{width:min(100%,390px);aspect-ratio:16/9;object-fit:cover;border-radius:10px}.image-upload .image-remove{display:flex;align-items:center;gap:10px}.image-remove input[type=checkbox]{width:auto}.upload-preview[hidden]{display:none}

/* Admin workspace and navigation */
.app-shell.has-sidebar{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:calc(100vh - 146px)}.admin-sidebar{background:#fff;border-right:1px solid #deeaed;padding:24px 14px;display:flex;flex-direction:column;gap:6px}.admin-sidebar .side-title{font-size:11px;letter-spacing:.14em;font-weight:800;color:#748d95;padding:10px}.admin-sidebar a{display:block;padding:11px 13px;border-radius:10px;font-size:14px;color:#315565;font-weight:600}.admin-sidebar a:hover,.admin-sidebar a.active{background:#e8f6f5;color:#077c7f;text-decoration:none}.has-sidebar main{min-width:0}.has-sidebar .section{max-width:100%;padding:30px 25px}.analytics-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.table-wrap{max-width:100%}@media(max-width:900px){.app-shell.has-sidebar{grid-template-columns:1fr}.admin-sidebar{flex-direction:row;overflow-x:auto;white-space:nowrap;border-right:0;border-bottom:1px solid #deeaed}.admin-sidebar .side-title{display:none}.admin-sidebar a{flex:0 0 auto}.analytics-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:570px){.analytics-stats{grid-template-columns:1fr}}

/* Unified administrator layout; applies to every /admin route. */
.app-shell.has-sidebar{display:grid;grid-template-columns:244px minmax(0,1fr);align-items:stretch;width:100%;min-height:calc(100vh - 146px)}
.app-shell.has-sidebar>.admin-sidebar{display:flex;flex-direction:column;gap:6px;min-width:0;align-self:stretch;background:#fff;border-right:1px solid #deeaed;padding:24px 14px}
.app-shell.has-sidebar>.admin-sidebar a{display:block;flex:none;padding:11px 13px;border-radius:10px;white-space:normal;line-height:1.45;font-size:14px;font-weight:600;color:#315565}
.app-shell.has-sidebar>.admin-sidebar a.active,.app-shell.has-sidebar>.admin-sidebar a:hover{background:#e8f6f5;color:#077c7f;text-decoration:none}
.app-shell.has-sidebar>main{min-width:0;width:100%}
.app-shell.has-sidebar>main>.section{max-width:none;width:100%;margin:0;padding:30px clamp(18px,2.5vw,38px)}
.app-shell.has-sidebar>main>.section.narrow{max-width:none}
.app-shell.has-sidebar>main>.section.narrow>.panel{max-width:1100px;margin:18px 0}
.app-shell.has-sidebar .section-head{flex-wrap:wrap;align-items:start}
.app-shell.has-sidebar .section-head .actions{flex-wrap:wrap}
@media(max-width:900px){.app-shell.has-sidebar{grid-template-columns:1fr}.app-shell.has-sidebar>.admin-sidebar{flex-direction:row;overflow-x:auto;gap:5px;padding:10px 12px;border-right:0;border-bottom:1px solid #deeaed}.app-shell.has-sidebar>.admin-sidebar a{white-space:nowrap;padding:10px 12px}.app-shell.has-sidebar>.admin-sidebar .side-title{display:none}}
@media(max-width:570px){.app-shell.has-sidebar>main>.section{padding:20px 14px}.app-shell.has-sidebar>main>.section.narrow>.panel{padding:18px}}

.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.choice-grid>.panel{border:1px solid #dbe8eb;padding:1.25rem}.participant-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.participant-form-grid label{min-width:0}.participant-form-grid input,.participant-form-grid select,.participant-form-grid textarea{width:100%;box-sizing:border-box}.auth-form:has(.participant-form-grid){max-width:820px}.auth-grid:has(.participant-form-grid){grid-template-columns:minmax(240px,.6fr) minmax(0,1.4fr)}[hidden]{display:none!important}@media(max-width:760px){.choice-grid,.participant-form-grid,.auth-grid:has(.participant-form-grid){grid-template-columns:1fr}}

/* Registration UX improvements */
.registration-journey .panel{margin-top:12px}.journey-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.journey-step{font-weight:700;font-size:12px;background:#e8f6f5;color:#087e8e;border-radius:99px;padding:6px 12px}.choice-grid .choice-card{display:flex;flex-direction:column;gap:10px;margin:0;box-shadow:none}.choice-card h2{font-size:20px;margin:0}.choice-card p{color:#647d87;flex:1;margin:0 0 10px}.choice-icon{display:grid;place-items:center;width:38px;height:38px;background:#e4f5f3;border-radius:10px;font-weight:800;color:#087e8e;font-size:22px}.journey-back{margin-top:20px}.form-heading{font-size:18px;grid-column:1/-1;margin:19px 0 2px;padding-top:16px;border-top:1px solid #e4eef0}.signup-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0 18px}.signup-progress span{font-size:11px;color:#355765;display:flex;align-items:center;gap:6px}.signup-progress b{display:grid;place-items:center;flex:none;width:22px;height:22px;background:#e6f4f3;color:#007980;border-radius:50%}.auth-form:has(.participant-form-grid){width:min(850px,calc(100% - 28px));padding:clamp(20px,3vw,38px)}.auth-grid:has(.participant-form-grid){grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr)}.password-field{position:relative;display:flex}.password-field input{padding-right:78px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);background:#eaf5f5;border:0;border-radius:6px;padding:7px 10px;color:#075e69;cursor:pointer;font:inherit;font-size:12px;font-weight:700}.form-feedback{font-size:13px;color:#b45309}.form :is(input,select,textarea):focus-visible,.btn:focus-visible,.password-toggle:focus-visible{outline:3px solid #16a8a5;outline-offset:2px}.form :is(input,select,textarea):user-invalid{border-color:#b55353}.btn[disabled]{opacity:.65;cursor:wait}@media(max-width:850px){.auth-grid:has(.participant-form-grid){grid-template-columns:1fr}.auth-grid:has(.participant-form-grid) .auth-art{padding:26px}.auth-grid:has(.participant-form-grid) .auth-art h1{font-size:26px}}@media(max-width:600px){.signup-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid{grid-template-columns:1fr}}

/* Participant registration wizard */
.wizard-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:4px 0 8px}.wizard-progress span{display:flex;align-items:center;gap:7px;min-width:0;color:#738894;font-size:12px}.wizard-progress b{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;border-radius:50%;background:#e8f0f2;color:#506d7a}.wizard-progress .is-current b{background:#087f90;color:white}.wizard-progress .is-complete b{background:#d7f3e8;color:#067c68}.wizard-progress small{font-size:12px;font-weight:700;overflow-wrap:anywhere}.wizard-step .form-heading{border:0;margin:4px 0 10px;padding:0}.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.wizard-count{font-weight:700;color:#617a87;font-size:13px}.wizard-enhanced>button[type="submit"][hidden]{display:none}.wizard-step[hidden],.wizard-actions button[hidden]{display:none!important}.wizard-enhanced .wizard-step{min-height:0}.auth-form:has(.wizard-progress){margin:18px auto;width:min(800px,calc(100% - 32px))}.auth-grid:has(.wizard-progress){grid-template-columns:minmax(220px,.52fr) minmax(0,1.48fr)}@media(max-width:850px){.auth-grid:has(.wizard-progress){grid-template-columns:1fr}.auth-grid:has(.wizard-progress) .auth-art{padding:20px 26px}.auth-grid:has(.wizard-progress) .auth-art h1{font-size:25px;margin:6px 0}.auth-grid:has(.wizard-progress) .auth-art p{font-size:14px;margin:4px 0}}@media(max-width:520px){.wizard-progress small{display:none}.wizard-progress span{justify-content:center}.participant-form-grid{grid-template-columns:1fr}.auth-form:has(.wizard-progress){padding:20px;margin:12px auto}}

/* Analytics explorer */
.analytics-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px}.analytics-filter-grid label{display:grid;gap:6px;font-size:13px;font-weight:700}.analytics-filter-grid input,.analytics-filter-grid select{min-width:0;width:100%;border:1px solid #cbdfe4;border-radius:9px;background:#fff;padding:10px;font:inherit}.analytics-bars{display:grid;gap:14px}.analytics-bar-item{display:grid;grid-template-columns:minmax(100px,220px) minmax(0,1fr) 65px;align-items:center;gap:12px;font-size:13px}.analytics-bar-item span{overflow-wrap:anywhere}.analytics-bar-item strong{text-align:right}.analytics-bar-track{height:14px;background:#e8f1f4;border-radius:20px;overflow:hidden}.analytics-bar-fill{height:100%;background:linear-gradient(90deg,#087f90,#13a59a);border-radius:20px}.analytics-explorer .panel{margin:16px 0}.analytics-explorer .stats{margin:18px 0}@media(max-width:950px){.analytics-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.analytics-filter-grid{grid-template-columns:1fr}.analytics-bar-item{grid-template-columns:minmax(70px,110px) minmax(0,1fr) 45px;gap:7px}}

/* Registration context panel: stable left column, readable on laptops and phones. */
.auth-grid:has(.wizard-progress){grid-template-columns:minmax(290px,36%) minmax(0,64%);min-height:calc(100vh - 146px);align-items:stretch}
.auth-grid:has(.wizard-progress) .registration-context{padding:clamp(28px,4.5vw,70px) clamp(24px,3.5vw,58px);display:flex;flex-direction:column;justify-content:center;gap:18px;min-width:0}
.registration-context h1{font-size:clamp(27px,2.6vw,40px);line-height:1.17;margin:8px 0 0;overflow-wrap:break-word}
.registration-context p{font-size:15px;line-height:1.65;margin:0}.selected-webinar{display:grid;gap:7px;border:1px solid #ffffff55;border-radius:12px;padding:18px;background:#ffffff13}.selected-webinar strong{font-size:17px}.selected-webinar span:not(.eyebrow){font-size:13px;color:#e0f5f3}.registration-guide{border-top:1px solid #ffffff55;padding-top:19px}.registration-guide strong{font-size:15px}.registration-guide ol{padding-left:20px;font-size:14px;line-height:1.8;margin:10px 0 0}.registration-context-note{opacity:.85;font-size:13px!important}.auth-grid:has(.wizard-progress) .auth-form{margin:22px auto;max-width:850px}.auth-grid:has(.wizard-progress) .wizard-step{min-height:0}@media(max-width:850px){.auth-grid:has(.wizard-progress){grid-template-columns:minmax(0,1fr)}.auth-grid:has(.wizard-progress) .registration-context{padding:22px 24px;gap:9px}.auth-grid:has(.wizard-progress) .registration-context h1{font-size:23px}.registration-guide ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;font-size:12px}.auth-grid:has(.wizard-progress) .auth-form{margin:15px auto}}@media(max-width:520px){.registration-guide ol{grid-template-columns:1fr}.auth-grid:has(.wizard-progress) .registration-context{padding:19px}.auth-grid:has(.wizard-progress) .auth-form{width:calc(100% - 24px)}}

/* Communications Centre */
.comms-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.comms-metrics .panel{padding:18px}.comms-metrics h2{margin:6px 0 0}.comms-panel{padding:24px;margin-bottom:18px}.comms-panel label{display:block;font-weight:600;margin-bottom:14px}.comms-panel input,.comms-panel select,.comms-panel textarea{display:block;width:100%;max-width:100%;margin-top:6px}.comms-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end}.comms-body{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:#f3f8f9;border-radius:12px;padding:18px}@media(max-width:720px){.comms-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.comms-fields{grid-template-columns:1fr}.comms-panel{padding:16px}}

/* Participant profile history, evidence and documents */
.profile-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.profile-stat { padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.profile-stat strong { font-size: 1.8rem; line-height: 1; color: #087b83; }
.profile-stat span { font-size: .85rem; color: #536679; }
.profile-table-scroll { overflow-x: auto; width: 100%; }
.profile-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.profile-table th, .profile-table td { padding: 12px; border-bottom: 1px solid #e4eaf0; text-align: left; vertical-align: top; }
.profile-table th { color: #284454; background: #f5f9fb; }
.profile-table td small { display: block; color: #64748b; margin-top: 4px; }
.profile-table td a { display: block; margin: 3px 0; }
.attendance-proof { max-width: 760px; }
.attendance-proof p { padding-bottom: 12px; border-bottom: 1px solid #e5edf2; }
@media (max-width: 850px) { .profile-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 500px) { .profile-stat-grid { grid-template-columns: 1fr 1fr; } .profile-stat strong { font-size: 1.45rem; } }
@media print { .topbar, footer, .proof-actions { display: none !important; } .attendance-proof { border: 0; box-shadow: none; } }


/* FPD account recovery: shared visual language with participant registration. */
.recovery-layout {
    display: grid;
    grid-template-columns: minmax(300px, 38%) minmax(0, 62%);
    min-height: calc(100dvh - 76px);
}

.recovery-brand {
    display: flex;
    align-items: center;
    background: linear-gradient(145deg, rgba(5, 51, 67, .97), rgba(7, 96, 105, .92)), url('/assets/images/fpd-design.png') center / cover;
    color: #fff;
    padding: clamp(28px, 5vw, 80px);
}

.recovery-brand-content { max-width: 490px; }
.recovery-brand h1 { font-size: clamp(30px, 3.3vw, 49px); line-height: 1.12; margin: 16px 0 18px; }
.recovery-brand p { color: #d7eef0; font-size: 16px; line-height: 1.7; }
.recovery-benefits { display: grid; gap: 16px; margin: 34px 0; font-weight: 600; font-size: 14px; }
.recovery-benefits > div { display: flex; align-items: center; gap: 12px; }
.recovery-check { display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; background: rgba(97, 232, 203, .20); color: #a4f6e6; }
.recovery-brand-note { padding: 20px; border: 1px solid rgba(255,255,255,.20); border-radius: 14px; background: rgba(255,255,255,.07); }
.recovery-brand-note p { margin-bottom: 0; font-size: 13px; }
.recovery-main { display: grid; align-items: center; justify-items: center; min-width: 0; padding: clamp(24px, 5vw, 72px); }
.recovery-card.panel { width: min(100%, 560px); margin: 0; padding: clamp(28px, 3vw, 48px); border-radius: 20px; box-shadow: 0 20px 65px rgba(9, 62, 80, .08); }
.recovery-symbol { display: grid; place-items: center; width: 56px; height: 56px; background: #e3f4f2; border-radius: 16px; font-size: 23px; margin-bottom: 20px; }
.recovery-card h2 { font-size: clamp(26px, 2.5vw, 34px); line-height: 1.2; margin: 8px 0 12px; }
.recovery-card > .muted { line-height: 1.7; margin-bottom: 27px; }
.recovery-form { gap: 19px; }
.recovery-form input { min-height: 49px; }
.recovery-form .btn { min-height: 50px; }
.recovery-help { color: #607985; font-size: 12px; line-height: 1.65; margin: 0; }
.recovery-footer { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-top: 26px; padding-top: 22px; border-top: 1px solid #e5eef0; font-size: 13px; }
.recovery-footer a { font-weight: 700; }
.recovery-footer span { color: #78909a; }
@media (max-width: 850px) {
    .recovery-layout { grid-template-columns: 1fr; }
    .recovery-brand { padding: 28px 24px; }
    .recovery-brand h1 { font-size: 28px; }
    .recovery-brand p { font-size: 14px; }
    .recovery-benefits, .recovery-brand-note { display: none; }
    .recovery-main { padding: 24px; }
}
@media (max-width: 520px) {
    .recovery-main { padding: 16px; }
    .recovery-card.panel { padding: 23px 20px; }
    .recovery-footer { align-items: flex-start; flex-direction: column; }
}


/* FPD approved sign-in experience — scoped to login, not registration wizard. */
.fpd-signin {
    display: grid;
    grid-template-columns: minmax(0, 55%) minmax(0, 45%);
    min-height: min(760px, calc(100vh - 146px));
    background: #f2f8fa;
}
.fpd-signin__hero {
    position: relative;
    overflow: hidden;
    padding: clamp(36px, 5vw, 78px);
    background: linear-gradient(125deg, rgba(4, 37, 64, .98), rgba(2, 63, 82, .95) 55%, rgba(0, 143, 139, .84)), url('/assets/images/fpd-design.png') center / cover no-repeat;
    color: #fff;
}
.fpd-signin__hero::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(ellipse at 85% 22%, rgba(16, 218, 201, .13), transparent 48%);
}
.fpd-signin__hero-content { position: relative; z-index: 1; max-width: 640px; margin: 0 auto; }
.fpd-signin__eyebrow { color: #8be7e0; font-size: 11px; font-weight: 800; letter-spacing: .2em; }
.fpd-signin__hero h1 { margin: 22px 0 12px; color: #fff; font-size: clamp(40px, 4.5vw, 65px); letter-spacing: -.045em; line-height: 1.08; }
.fpd-signin__hero h1 span { color: #82e1d8; }
.fpd-signin__intro { max-width: 460px; font-size: 17px; line-height: 1.65; color: #e2f6f6; }
.fpd-signin__journey { border-top: 1px solid rgba(255,255,255,.25); margin-top: 30px; padding-top: 23px; }
.fpd-signin__journey h2 { color: #fff; font-size: 20px; margin: 0 0 20px; }
.fpd-signin__journey ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.fpd-signin__journey li { display: flex; align-items: flex-start; gap: 14px; }
.fpd-signin__step-number { display: grid; flex: 0 0 36px; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(5, 163, 159, .5); border: 1px solid rgba(129,239,228,.4); color: #fff; font-weight: 800; }
.fpd-signin__journey li strong, .fpd-signin__journey li small { display: block; }
.fpd-signin__journey li strong { color: #fff; font-size: 14px; }
.fpd-signin__journey li small { color: #d7ebee; font-size: 12px; margin-top: 3px; }
.fpd-signin__webinar { display: grid; gap: 7px; background: rgba(255,255,255,.1); border: 1px solid rgba(230,255,252,.29); border-radius: 15px; padding: 20px; margin-top: 35px; backdrop-filter: blur(8px); }
.fpd-signin__webinar strong { font-size: 16px; color: #fff; }
.fpd-signin__webinar small { color: #d5f2ee; }
.fpd-signin__workspace { display: grid; place-items: center; padding: clamp(24px, 4vw, 55px); min-width: 0; }
.fpd-signin__card { width: min(100%, 535px); padding: clamp(24px, 3vw, 46px); background: #fff; border: 1px solid #e0eaef; border-radius: 17px; box-shadow: 0 18px 55px rgba(10, 52, 67, .07); }
.fpd-signin__card h2 { font-size: clamp(26px, 2.25vw, 34px); letter-spacing: -.035em; color: #123247; margin: 0 0 8px; }
.fpd-signin__description { color: #637e8a; margin: 0 0 26px; line-height: 1.6; }
.fpd-signin__form { gap: 19px; }
.fpd-signin__form label { color: #193c50; }
.fpd-signin__form input { padding: 14px 16px; min-height: 48px; }
.fpd-signin__form input::placeholder { color: #82949e; }
.fpd-signin__submit { margin-top: 6px; min-height: 50px; font-size: 15px; gap: 11px; background: #048c96; }
.fpd-signin__submit:hover { background: #037985; }
.fpd-signin__separator { display: flex; align-items: center; gap: 13px; color: #8299a3; margin: 24px 0 20px; }
.fpd-signin__separator::before, .fpd-signin__separator::after { content: ''; flex: 1; height: 1px; background: #dae6ea; }
.fpd-signin__alternate, .fpd-signin__reset, .fpd-signin__return { font-size: 14px; color: #506f80; margin: 12px 0; }
.fpd-signin__assurance { margin-top: 26px; display: flex; align-items: center; gap: 14px; border-radius: 12px; padding: 17px 18px; background: #eaf7f8; color: #19445a; }
.fpd-signin__assurance > span { font-size: 28px; color: #087f90; }
.fpd-signin__assurance strong, .fpd-signin__assurance small { display: block; }
.fpd-signin__assurance strong { font-size: 13px; }
.fpd-signin__assurance small { margin-top: 3px; font-size: 12px; }
@media (max-width: 900px) {
    .fpd-signin { grid-template-columns: minmax(0, 1fr); }
    .fpd-signin__hero { padding: 28px 24px; }
    .fpd-signin__hero h1 { font-size: 34px; margin: 10px 0; }
    .fpd-signin__intro { margin: 0; font-size: 14px; }
    .fpd-signin__journey { display: none; }
    .fpd-signin__webinar { margin-top: 14px; padding: 14px; }
    .fpd-signin__workspace { padding: 20px 16px 35px; }
}
@media (max-width: 540px) {
    .fpd-signin__card { padding: 22px 20px; }
    .fpd-signin__hero { padding: 25px 20px; }
    .fpd-signin__assurance { padding: 13px; }
}


/* Fixed public navigation and coordinated full-screen FPD branding. */
:root { --hub-header-height: 76px; }
html { scroll-padding-top: calc(var(--hub-header-height) + 18px); }
body { padding-top: var(--hub-header-height); overflow-x: clip; }
.topbar {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    width: 100%;
    min-height: var(--hub-header-height);
    height: var(--hub-header-height);
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 4px 22px rgba(5, 45, 59, .07);
    backdrop-filter: blur(12px);
}
.topbar nav { max-width: 100%; }
.topbar nav a:focus-visible, .topbar nav button:focus-visible { outline: 3px solid #0eaaa6; outline-offset: 3px; }
.app-shell.has-sidebar > .admin-sidebar { position: sticky; top: var(--hub-header-height); height: calc(100dvh - var(--hub-header-height)); overflow-y: auto; }
.fpd-signin, .auth-grid { min-height: calc(100dvh - var(--hub-header-height)); }
.fpd-signin { min-height: calc(100dvh - var(--hub-header-height)); }
.fpd-signin__hero { background-image: linear-gradient(125deg, rgba(2, 30, 52, .96), rgba(2, 64, 78, .83) 58%, rgba(0, 122, 116, .72)), url('/assets/images/fpd-design.png'); background-size: cover; background-position: center; }
.auth-art, .registration-context {
    background-image: linear-gradient(130deg, rgba(3, 35, 56, .94), rgba(0, 106, 107, .83)), url('/assets/images/fpd-design.png');
    background-size: cover;
    background-position: center;
}
.recovery-brand { background-image: linear-gradient(125deg, rgba(3, 36, 57, .94), rgba(0, 112, 110, .83)), url('/assets/images/fpd-design.png'); }
/* Keep the two-panel login polished on typical desktop and laptop screens. */
@media (min-width: 901px) and (min-height: 700px) {
    .fpd-signin { height: calc(100dvh - var(--hub-header-height)); min-height: 0; }
    .fpd-signin__hero, .fpd-signin__workspace { overflow-y: auto; scrollbar-width: thin; }
    body:has(.fpd-signin) > footer { display: none; }
}
/* Webinar-selection screen: branded panel rather than an empty background. */
.registration-journey {
    position: relative;
    isolation: isolate;
    max-width: none !important;
    min-height: calc(100dvh - var(--hub-header-height));
    display: grid;
    place-items: center;
    padding: clamp(24px, 4vw, 54px) !important;
    background: linear-gradient(125deg, rgba(3, 31, 52, .91), rgba(0, 109, 112, .76)), url('/assets/images/fpd-design.png') center / cover no-repeat;
}
.registration-journey .choice-panel {
    width: min(100%, 1050px);
    margin: 0;
    padding: clamp(24px, 3vw, 42px);
    box-shadow: 0 26px 80px rgba(0, 29, 44, .23);
}
.registration-journey .choice-grid { align-items: stretch; }
.registration-journey .choice-card { background: #f8fcfd; border: 1px solid #d7e8ec; }
.registration-journey .choice-card:hover { border-color: #0b999a; box-shadow: 0 6px 24px rgba(3, 86, 93, .09); }
.registration-journey .choice-panel h1 { color: #133748; line-height: 1.2; }
.registration-journey .choice-context { padding: 16px 18px; border-radius: 12px; background: #e8f5f4; margin: 15px 0; }
.registration-journey .choice-context span { display: block; color: #486775; font-size: 13px; margin-top: 5px; }
.event-cover { background-image: linear-gradient(135deg, rgba(3, 42, 63, .55), rgba(2, 106, 108, .55)), url('/assets/images/fpd-design.png'); background-size: cover; background-position: center; }
@media (max-width: 840px) {
    :root { --hub-header-height: 112px; }
    .topbar { height: var(--hub-header-height); min-height: var(--hub-header-height); padding: 10px 18px; align-content: center; justify-content: center; gap: 5px 18px; }
    .topbar .brand img { height: 35px; width: 53px; }
    .topbar nav { justify-content: center; gap: 8px 14px; }
    .topbar nav a { font-size: 12px; }
    .app-shell.has-sidebar > .admin-sidebar { position: static; height: auto; overflow-x: auto; }
    .registration-journey { min-height: calc(100dvh - var(--hub-header-height)); }
}
@media (max-width: 540px) {
    :root { --hub-header-height: 118px; }
    .topbar { padding: 9px 12px; }
    .topbar .brand { font-size: 17px; }
    .topbar .navbtn { padding: 7px 9px; }
    .registration-journey { padding: 18px 12px !important; }
    .registration-journey .choice-panel { padding: 22px 18px; }
    .fpd-signin__hero { background-position: 55% center; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }

/* Account recovery: consistent geometric iconography instead of decorative emoji. */
.recovery-check::after {
    content: "";
    width: 9px;
    height: 5px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg) translateY(-1px);
}
.recovery-symbol-mark {
    position: relative;
    display: block;
    width: 22px;
    height: 17px;
    margin-top: 9px;
    border: 2px solid #087f90;
    border-radius: 4px;
}
.recovery-symbol-mark::before {
    content: "";
    position: absolute;
    left: 5px;
    top: -13px;
    width: 8px;
    height: 10px;
    border: 2px solid #087f90;
    border-bottom: 0;
    border-radius: 7px 7px 0 0;
}

/* Official FPD BlueGreen artwork: shared branded surfaces. */
.bg-gradient-primary,
.fpd-signin__hero,
.auth-art,
.registration-context,
.recovery-brand,
.registration-choice-hero {
    background-image: url('/assets/images/fpd-design.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Preserve contrast without hiding the original FPD design. */
.fpd-signin__hero,
.auth-art,
.registration-context,
.recovery-brand,
.registration-choice-hero {
    background-color: #073d4b;
    color: #ffffff;
}

/* Focused auth presentation: retain artwork without decorative instruction blocks. */
.fpd-signin__journey,
.fpd-signin__assurance,
.recovery-benefits,
.recovery-brand-note,
.registration-guide,
.registration-context-note {
    display: none;
}

.fpd-signin__hero-content,
.recovery-brand-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

.fpd-signin__intro,
.recovery-brand-content > p {
    max-width: 35rem;
}

.custom-field-row {
    margin-bottom: 1rem;
    border: 1px solid #d9e7e9;
    padding: 1.2rem;
}

.custom-required {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.custom-required input {
    width: auto;
}

.webinar-extra-questions {
    margin: 1.3rem 0;
    padding-top: 1rem;
    border-top: 1px solid #d8e5e8;
}

/* Registration conversations */
.conversation-history { display: grid; gap: 12px; margin: 24px 0; max-height: 420px; overflow-y: auto; }
.conversation-message { padding: 14px 18px; margin: 0; }
.conversation-message p { margin-bottom: 0; white-space: normal; overflow-wrap: anywhere; }
.conversation-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }


/* 011: Consistent enterprise UI surfaces and responsive data tables */
:root { --ui-ink:#123145; --ui-line:#dce8ed; --ui-subtle:#f5f9fa; --ui-accent:#087b7e; }
.section { max-width: 1540px; margin-inline:auto; }
.section-head { display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:22px; }
.section-head h1 {letter-spacing:-.035em;line-height:1.12;}
.section-head .actions {display:flex;flex-wrap:wrap;gap:8px;}
.panel {border:1px solid var(--ui-line);border-radius:17px;box-shadow:0 8px 26px rgba(19,49,69,.045);overflow:hidden;}
.panel>h2:first-child {margin-top:0;letter-spacing:-.02em;}
.stats {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;}
.stat {border:1px solid var(--ui-line);border-radius:15px;box-shadow:0 5px 18px rgba(19,49,69,.035);}
.btn,.navbtn,button {transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;}
.btn:focus-visible,.navbtn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {outline:3px solid #4cc2c2;outline-offset:2px;}
.table-wrap,.profile-table-scroll {max-width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#bdd4da transparent;border-radius:12px;}
.table-wrap table,.profile-table-scroll table {width:100%;border-collapse:separate;border-spacing:0;font-size:.91rem;}
.table-wrap th,.profile-table-scroll th {font-size:.73rem;text-transform:uppercase;letter-spacing:.055em;font-weight:750;color:#516b7b;background:#f2f7f9;white-space:nowrap;border-bottom:1px solid var(--ui-line);}
.table-wrap td,.table-wrap th,.profile-table-scroll td,.profile-table-scroll th {padding:13px 15px;text-align:left;vertical-align:middle;border-bottom:1px solid #e9f0f3;}
.table-wrap tbody tr,.profile-table-scroll tbody tr {transition:background-color .13s ease;}
.table-wrap tbody tr:hover,.profile-table-scroll tbody tr:hover {background:#f5fafa;}
.table-wrap tbody tr:last-child td,.profile-table-scroll tbody tr:last-child td {border-bottom:0;}
.table-wrap td a {font-weight:600;text-decoration:none;}
.table-wrap td a:hover {text-decoration:underline;}
.table-wrap td .btn {white-space:nowrap;}
.table-wrap td form.inline {display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;}
.ui-table-tools {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 0 14px;}
.ui-table-search {display:flex;align-items:center;gap:8px;min-width:min(100%,230px);}
.ui-table-search input {width:min(100%,340px);min-height:40px;border:1px solid #cddfe4;border-radius:10px;background:#fff;padding:9px 12px;}
.ui-table-count {color:#526d7a;font-size:.8rem;white-space:nowrap;}
.ui-table-sort {border:0;background:none;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;text-align:left;padding:0;display:inline-flex;gap:8px;align-items:center;}
.ui-table-sort::after {content:'↕';opacity:.46;font-size:13px;}
.ui-table-sort[aria-sort="ascending"]::after {content:'↑';opacity:1;}
.ui-table-sort[aria-sort="descending"]::after {content:'↓';opacity:1;}
.ui-table-empty {text-align:center!important;padding:28px!important;color:#55727e;}
.ui-table-footer {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 0 0;}
.ui-table-pages {display:flex;align-items:center;gap:6px;}
.ui-table-pages button {border:1px solid #ccdfe4;background:white;border-radius:8px;min-height:36px;padding:6px 12px;color:var(--ui-ink);cursor:pointer;}
.ui-table-pages button:disabled {opacity:.45;cursor:default;}
.ui-table-pages button:hover:not(:disabled) {background:#eaf4f5;}
.ui-table-size {display:flex;gap:8px;align-items:center;font-size:.82rem;color:#526d7a;}
.ui-table-size select {width:auto;min-width:70px;min-height:35px;padding:5px;border-radius:8px;}
.admin-sidebar {scrollbar-width:thin;}
.admin-sidebar a {border-radius:9px;transition:background-color .15s ease;}
@media(max-width:800px){.section-head{align-items:flex-start}.section-head .actions{width:100%}.table-wrap td,.table-wrap th{padding:11px 12px}.ui-table-search{flex:1 1 100%}.ui-table-search input{width:100%}.ui-table-tools{align-items:stretch}}
@media(prefers-reduced-motion:reduce){.btn,.navbtn,button,.table-wrap tbody tr{transition:none!important}}

/* 012: Guided webinar creation and consistent registration controls */
.webinar-create-page { max-width: 1160px; }
.webinar-create-shell { padding: 0; background: #fff; }
.webinar-steps { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0; background: #f5fafb; border-bottom: 1px solid #d9e7eb; }
.webinar-step { display:flex; align-items:center; justify-content:center; gap:10px; min-height:76px; padding:12px; background:transparent; border:0; border-bottom:3px solid transparent; color:#526d7a; cursor:pointer; font-weight:650; font-size:.88rem; }
.webinar-step span {display:inline-grid; place-items:center; width:32px; height:32px; border:1px solid #cddfe4; border-radius:50%; font-size:.73rem; flex:none; }
.webinar-step.current { border-bottom-color:#07858b; color:#053f52; background:#e9f7f7; }
.webinar-step.current span { background:#087e85; border-color:#087e85; color:white; }
.webinar-step:disabled { opacity:.58; cursor:default; }
.webinar-wizard-form { padding: clamp(18px, 4vw, 40px); }
.webinar-wizard-panel[hidden] { display:none!important; }
.webinar-wizard-intro {margin-bottom:26px;}
.webinar-wizard-intro h2 {margin:0 0 6px; color:#103a4a; font-size:1.55rem;}
.webinar-wizard-intro p {margin:0; color:#5c7380;}
.webinar-wizard-form input:not([type=checkbox]):not([type=file]), .webinar-wizard-form select, .webinar-wizard-form textarea { width:100%; min-height:46px; border:1px solid #cbdce1; border-radius:10px; padding:10px 13px; font:inherit; background:#fff; color:#173849; }
.webinar-wizard-form input:focus, .webinar-wizard-form select:focus, .webinar-wizard-form textarea:focus { border-color:#06848b; box-shadow:0 0 0 3px rgba(0,128,138,.10); }
.webinar-fields-heading {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:24px 0 14px;}
.webinar-fields-heading h3 {margin:0;}
.webinar-fields-heading p {margin:4px 0 0;}
.webinar-wizard-form .custom-field-row {border-radius:12px;box-shadow:none;}
.webinar-wizard-form .custom-required {display:flex;align-items:center;}
.webinar-wizard-form .custom-required input {width:auto;min-height:0;}
.webinar-review {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 28px;}
.webinar-review > div {display:grid;gap:5px;padding:15px 17px;background:#f4f9fa;border:1px solid #e2edf0;border-radius:11px;}
.webinar-review span {font-size:.77rem;color:#586f7b;}
.webinar-review strong {font-size:.94rem;overflow-wrap:anywhere;}
.webinar-wizard-actions {display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid #e3edf0;}
.webinar-step-counter {margin-right:auto;color:#647c86;font-size:.84rem;}
@media(max-width:700px){.webinar-step{flex-direction:column;font-size:.72rem;text-align:center;gap:6px;min-height:84px;padding:10px 3px;}.webinar-review{grid-template-columns:1fr;}}
/* Administration registrations: form controls, action groups, badges */
.registration-filters {display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;background:#fff;border:1px solid #dce8ed;padding:16px 18px;border-radius:14px;margin:18px 0;}
.registration-filters label {display:grid;gap:7px;font-size:.84rem;font-weight:650;color:#244958;}
.registration-filters select {min-width:215px;min-height:42px;border-radius:10px;border:1px solid #c7dce2;background:#fff;padding:9px 12px;color:#163849;font:inherit;}
.registration-filters .btn {min-height:42px;}
.registration-duration {display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.registration-duration input {width:79px;min-height:38px;border-radius:9px;border:1px solid #cbdce1;padding:7px 9px;font:inherit;background:#fff;}
.registration-duration .btn {min-height:38px;}
.registration-status {display:inline-flex;align-items:center;border-radius:999px;font-weight:650;font-size:.76rem;padding:6px 10px;background:#eff5f7;color:#345968;white-space:nowrap;text-transform:capitalize;}
.registration-status.confirmed {background:#e3f6ee;color:#17674e;}
.registration-status.pending_payment {background:#fff3de;color:#8b5718;}
.registration-status.cancelled {background:#f4eeee;color:#86545b;}
.registration-row-actions {display:flex;gap:7px;align-items:center;flex-wrap:wrap;}
.registration-row-actions .btn,.registration-row-actions a {font-size:.82rem;text-decoration:none;}


/* Release 013 · Concept 4 participant-centric FPD design system */
:root { --c4-navy:#062d45; --c4-teal:#007f89; --c4-pale:#eaf7f8; --c4-line:#dfebef; --c4-text:#18394c; }
body {font-family:Inter,"Segoe UI",Arial,sans-serif;background:#f4f9fb;color:var(--c4-text);}
.topbar {position:sticky;top:0;z-index:80;box-shadow:0 5px 22px rgba(7,44,62,.045)}
.topbar nav a:hover,.topbar nav a:focus-visible {color:#007e88}
.btn,.navbtn,.panel,.event-card {transition:box-shadow .18s ease,transform .18s ease,background .18s ease}
.btn-primary,.navbtn.solid {background:var(--c4-teal)}
.btn:hover {text-decoration:none;filter:brightness(.96)}
.btn:focus-visible,.navbtn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,button:focus-visible {outline:3px solid #71cfce;outline-offset:2px}
.concept-hero {min-height:410px;background:#052f47 linear-gradient(90deg,rgba(1,27,48,.86),rgba(3,58,69,.17)),url('/assets/images/fpd-design.png') center/cover no-repeat}
.concept-hero .hero-content {padding:68px 10px}
.concept-hero h1 {font-size:clamp(38px,4.8vw,66px);letter-spacing:-.05em;line-height:1.06}
.concept-hero h1 em {font-style:normal;color:#70dfdc}
.concept-home-search {display:flex;gap:8px;max-width:580px;background:white;border-radius:12px;padding:7px;box-shadow:0 14px 35px rgba(0,20,32,.18);margin-top:26px}
.concept-home-search input {min-width:0;flex:1;border:0;padding:12px;background:transparent;font:inherit;color:#103447}
.concept-home-search button {border:0;border-radius:9px;padding:10px 20px;background:#007f89;color:white;font-weight:700;cursor:pointer}
.concept-home-search button[data-webinar-search-clear] {background:#edf5f5;color:#205363}
.concept-benefits {max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:19px 24px}
.concept-benefits span {text-align:center;background:#edf8f9;border:1px solid #d7ecee;border-radius:11px;padding:13px 6px;font-size:13px;font-weight:650;color:#245266}
.event-card {box-shadow:0 10px 28px rgba(12,56,73,.07)}
.event-card:hover {box-shadow:0 15px 38px rgba(12,56,73,.13);transform:translateY(-2px)}
.event-cover {height:190px;background:#06354b url('/assets/images/fpd-design.png') center/cover no-repeat}
.event-content {display:flex;flex-direction:column;align-items:start;min-height:260px}
.event-content .btn {margin-top:auto}
.event-card[hidden] {display:none!important}
.concept-detail {max-width:1240px}
.concept-detail-panel {padding:0;overflow:hidden}
.concept-detail-top {display:grid;grid-template-columns:1.15fr .85fr;min-height:440px}
.concept-detail-copy {padding:44px clamp(24px,4vw,58px)}
.concept-detail-copy h1 {font-size:clamp(30px,3vw,46px);line-height:1.12;letter-spacing:-.03em}
.concept-detail-copy .facts {grid-template-columns:repeat(2,minmax(0,1fr))}
.concept-detail-art {background:#063e52 url('/assets/images/fpd-design.png') center/cover no-repeat;display:flex;align-items:end;padding:30px;color:white;font-weight:750;font-size:21px}
.concept-detail-bottom {padding:0 clamp(24px,4vw,58px) 32px}
.concept-tabs {display:flex;flex-wrap:wrap;gap:26px;border-bottom:1px solid #dce9ed;padding:15px 0;margin-bottom:25px;font-size:14px;color:#526c7a;font-weight:650}
.concept-tabs .is-active {color:#007f89;border-bottom:3px solid #007f89;padding-bottom:13px;margin-bottom:-16px}
.concept-choice-page {max-width:1200px;display:grid;grid-template-columns:.75fr 1.25fr;gap:0;align-items:stretch;padding-top:35px}
.concept-choice-brand {background:#073b53 url('/assets/images/fpd-design.png') center/cover no-repeat;color:white;padding:70px 35px;border-radius:16px 0 0 16px}
.concept-choice-brand h2 {font-size:clamp(29px,3vw,43px);line-height:1.12;margin-top:35px}
.concept-choice-brand p {color:#e1f5f5}
.concept-choice-page>.choice-panel {margin:0;border-radius:0 16px 16px 0}
.concept-choice-page .choice-grid {grid-template-columns:1fr}
.concept-choice-page .choice-card {display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px 20px;margin:0;padding:20px}
.concept-choice-page .choice-card h2 {font-size:18px;margin:0}
.concept-choice-page .choice-card p {grid-column:1;margin:0}
.concept-choice-page .choice-card a.btn {grid-column:2;grid-row:1/3;min-width:160px}
.concept-choice-page .choice-icon {display:none}
.concept-dashboard {max-width:1300px}
.concept-participant-heading {display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}
.concept-participant-heading h1 {margin:5px 0;font-size:clamp(28px,3vw,38px)}
.concept-participant-heading p {color:#627d8b;margin:0}
.concept-portal-grid {display:grid;grid-template-columns:215px minmax(0,1fr);gap:25px}
.concept-portal-menu {background:white;border:1px solid var(--c4-line);border-radius:14px;padding:16px;align-self:start;display:flex;flex-direction:column;gap:5px}
.concept-portal-menu a {padding:12px 14px;color:#345568;border-radius:9px;font-size:14px;font-weight:650}
.concept-portal-menu a.active,.concept-portal-menu a:hover {background:var(--c4-pale);color:#007f89;text-decoration:none}
.concept-portal-main {min-width:0}
.concept-metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.concept-metrics>div {border:1px solid var(--c4-line);background:white;border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:4px;box-shadow:0 6px 18px rgba(10,57,76,.035)}
.concept-metrics strong {font-size:32px;color:#063f53;line-height:1}
.concept-metrics span {font-size:13px;color:#607986}
.concept-list-heading {display:flex;align-items:center;justify-content:space-between;margin:30px 0 15px}
.concept-list-heading h2 {margin:0;font-size:22px}
.concept-registered-list {background:white;border:1px solid var(--c4-line);border-radius:14px;overflow:hidden}
.concept-registered-item {display:flex;align-items:center;gap:18px;padding:20px;border-bottom:1px solid var(--c4-line)}
.concept-registered-image {width:105px;height:75px;border-radius:9px;background:#073b53 url('/assets/images/fpd-design.png') center/cover no-repeat;flex:none}
.concept-registered-text {min-width:0;flex:1}
.concept-registered-text h3 {margin:0 0 5px;font-size:16px}
.concept-registered-text p {margin:0 0 8px;font-size:13px;color:#6c8490}
.concept-registered-actions {display:flex;align-items:center;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.concept-after-webinar {padding:12px 20px;background:#f5fbfc;border-bottom:1px solid var(--c4-line);display:flex;gap:15px;align-items:center;flex-wrap:wrap}
.concept-after-webinar form {display:flex;gap:8px;flex-wrap:wrap}
.concept-after-webinar input,.concept-after-webinar select {padding:8px;border:1px solid #cadfe5;border-radius:8px;max-width:220px}
.concept-empty {padding:35px;text-align:center}
.sr-only {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:980px){.concept-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}.concept-choice-page{grid-template-columns:1fr}.concept-choice-brand{border-radius:16px 16px 0 0;padding:34px}.concept-choice-page>.choice-panel{border-radius:0 0 16px 16px}.concept-detail-top{grid-template-columns:1fr}.concept-detail-art{min-height:230px}.concept-portal-grid{grid-template-columns:1fr}.concept-portal-menu{flex-direction:row;overflow-x:auto;white-space:nowrap}}
@media(max-width:600px){.concept-benefits{padding:12px;gap:8px}.concept-benefits span{font-size:11px}.concept-hero{min-height:340px}.concept-hero .hero-content{padding:42px 10px}.concept-home-search{flex-wrap:wrap}.concept-home-search button{padding:10px}.concept-participant-heading{align-items:flex-start;flex-direction:column}.concept-metrics{gap:8px}.concept-metrics>div{padding:14px}.concept-metrics strong{font-size:24px}.concept-registered-item{flex-wrap:wrap;gap:12px}.concept-registered-image{width:80px;height:65px}.concept-registered-actions{width:100%;justify-content:flex-start}.concept-choice-page .choice-card{display:block}.concept-choice-page .choice-card .btn{margin-top:12px;width:100%}.concept-detail-copy{padding:25px}.concept-detail-copy .facts{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.event-card,.btn{transition:none!important}}

/* Webinar registration form builder: preserves the existing light admin theme. */
.registration-builder-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr); gap:20px; align-items:start; margin-top:18px; }
.registration-builder-editor { min-width:0; }
.registration-core-fields { display:grid; gap:8px; margin:14px 0 20px; }
.registration-core-field { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:12px 14px; background:#f4f8fa; border:1px solid #dbe8ed; border-radius:11px; }
.form-lock { font-size:.78rem; color:#48727d; }
.registration-live-preview { padding:18px; background:#f5f9fa; border:1px solid #d6e5e8; border-radius:14px; }
.registration-live-preview-heading { display:flex; justify-content:space-between; gap:12px; margin-bottom:10px; }
.registration-preview-field { display:grid; gap:6px; margin:12px 0; }
.registration-live-preview input, .registration-live-preview textarea, .registration-live-preview select { width:100%; background:#fff; color:#526474; opacity:1; }
.form-field-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
@media(max-width:800px) { .registration-builder-layout { grid-template-columns:1fr; } }


/* Unified authentication / registration layout: same proportions and controls as Sign Up. */
.hub-registration-layout.auth-grid {
    grid-template-columns: minmax(290px, 36%) minmax(0, 64%);
    min-height: calc(100dvh - 146px);
    align-items: stretch;
}
.hub-registration-layout > .registration-context {
    padding: clamp(28px, 4.5vw, 70px) clamp(24px, 3.5vw, 58px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 18px;
    min-width: 0;
}
.hub-registration-layout > .hub-registration-card,
.hub-registration-layout > .hub-choice-workspace {
    width: min(850px, calc(100% - 32px));
    max-width: 850px;
    min-width: 0;
    margin: 22px auto;
    padding: clamp(20px, 3vw, 38px);
    border-radius: 16px;
}
.hub-registration-layout .hub-form { width: 100%; }
.hub-registration-layout .hub-form-section { min-width: 0; }
.hub-registration-layout .participant-form-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.hub-registration-layout .hub-form-actions { margin-top: 22px; }
.hub-registration-layout .hub-form-actions .btn { min-height: 45px; }
.hub-registration-layout .hub-form-back { margin-top: 16px; }
.hub-choice-layout .choice-grid { grid-template-columns: 1fr; }
.hub-choice-layout .choice-card { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 7px 20px; }
.hub-choice-layout .choice-card p { grid-column: 1; }
.hub-choice-layout .choice-card .btn { grid-column: 2; grid-row: 1 / 3; min-width: 160px; }
@media (max-width: 850px) {
    .hub-registration-layout.auth-grid { grid-template-columns: minmax(0, 1fr); }
    .hub-registration-layout > .registration-context { padding: 22px 24px; gap: 9px; }
    .hub-registration-layout > .registration-context h1 { font-size: 25px; margin: 6px 0; }
    .hub-registration-layout > .hub-registration-card,
    .hub-registration-layout > .hub-choice-workspace { margin: 15px auto; }
}
@media (max-width: 600px) {
    .hub-registration-layout .participant-form-grid { grid-template-columns: 1fr; }
    .hub-choice-layout .choice-card { display: flex; flex-direction: column; align-items: stretch; }
    .hub-choice-layout .choice-card .btn { width: 100%; min-width: 0; }
}
@media (max-width: 520px) {
    .hub-registration-layout > .hub-registration-card,
    .hub-registration-layout > .hub-choice-workspace { width: calc(100% - 24px); padding: 20px; }
}

/* Business Intelligence: shared WebinarHub light surface and teal accent. */
.bi-analysis-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:16px;align-items:start}
.bi-analysis-grid>.panel{min-width:0;margin:16px 0}
.bi-trend-chart{width:100%;min-height:245px;display:grid;align-items:center}
.bi-trend-chart svg{display:block;width:100%;height:auto;max-height:300px;overflow:visible}
.bi-gridline{stroke:#e6eef2;stroke-width:1}
.bi-axis-label{fill:#66828d;font-size:11px;font-family:Arial,sans-serif}
.bi-line{stroke:#078f91;stroke-width:3;fill:none;stroke-linejoin:round;stroke-linecap:round}
.bi-dot{fill:#087f90;stroke:#fff;stroke-width:2}
.bi-insights{display:grid;gap:10px}
.bi-insight{padding:14px;border:1px solid #d7e9ea;border-left:4px solid #087f90;border-radius:10px;background:#f6fbfb}
.bi-insight.bi-attention{border-left-color:#bc7827;background:#fffaf1}
.bi-insight strong{color:#153449;font-size:14px}
.bi-insight p{color:#506c79;font-size:13px;margin:6px 0 0;line-height:1.55}
.bi-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 18px}
.bi-toolbar label{display:grid;gap:4px;font-size:13px;font-weight:700}
.bi-toolbar select{padding:10px 12px;border-radius:9px;border:1px solid #cbdfe4;background:white;color:#153449}
.bi-segment-button{border:0;background:transparent;width:100%;padding:9px 7px;border-radius:9px;cursor:pointer;text-align:left;color:inherit;font:inherit}
.bi-segment-button:hover,.bi-segment-button:focus-visible{background:#eaf5f5;outline:2px solid #087f90;outline-offset:1px}
.bi-bar-label{min-width:0;overflow-wrap:anywhere}
.bi-selection{margin-top:16px;background:#edf8f8;border:1px solid #b8dcde;border-radius:10px;padding:15px}
.bi-selection p{margin:5px 0 0;color:#375765;font-size:13px}
@media(max-width:990px){.bi-analysis-grid{grid-template-columns:1fr}}
@media(max-width:600px){.analytics-explorer .panel{padding:17px}.bi-trend-chart{min-height:165px}.bi-segment-button{grid-template-columns:minmax(75px,1fr) minmax(0,1.1fr) 40px}}

/* Smart Recovery — compact, accessible participant notices */
.hub-draft-notices {margin: 0 0 1rem; padding: 1rem; border: 1px solid #b7dede; border-radius: 14px; background: #f3fbfb;}
.hub-draft-notices h2 {margin: 0 0 .8rem; font-size: 1.05rem; color: #12314b;}
.hub-draft-count {display: inline-block; border-radius: 20px; padding: .1rem .45rem; background: #d5eded; font-size: .85rem;}
.hub-draft-notice {display:flex; align-items:center; justify-content:space-between; gap: 1rem; padding: .8rem 0; border-top: 1px solid #d8e8e8;}
.hub-draft-notice p {margin:.3rem 0 0; font-size:.88rem; color: #52657b;}
.hub-draft-actions {display:flex; align-items:center; flex-wrap:wrap; gap:.5rem;}
.hub-draft-actions form {margin:0;}
.hub-draft-consent {display:flex; align-items:flex-start; gap:.5rem; margin: .8rem 0; font-size:.9rem;}
.hub-draft-consent input {width:auto; margin-top:.3rem;}
@media(max-width:760px) {.hub-draft-notice {align-items:flex-start; flex-direction:column;}}

/* Webinar room — consistent with approved neutral sidebar / teal actions. */
.webinar-room .room-layout{display:grid;grid-template-columns:minmax(0,8fr) minmax(240px,4fr);gap:18px;align-items:start}.webinar-room .room-stage{background:#122f40;color:#fff;aspect-ratio:16/9;border-radius:14px;padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.webinar-room .room-stage h2,.webinar-room .room-stage p{color:#fff}.webinar-room .room-stage .room-stage-help{opacity:.78;font-size:.87rem}.webinar-room .room-stage-icon{font-size:2rem;color:#7ed1d1}.webinar-room .room-join-action{margin-top:18px;display:inline-flex}.webinar-room .room-sidebar{min-width:0}.room-operations-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.room-operations-filter label{flex:1;min-width:210px}.room-operation-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.room-operation-cards .panel{display:grid;gap:8px}.room-operation-cards strong{font-size:2rem;color:#173a4a}.room-operation-cards small{color:#56707d}@media(max-width:760px){.webinar-room .room-layout{grid-template-columns:1fr}.webinar-room .room-stage{padding:14px;min-height:205px}.room-operation-cards{grid-template-columns:1fr}}@media(max-width:350px){.webinar-room .room-stage{aspect-ratio:auto}.webinar-room .room-join-action{width:100%;justify-content:center}}
/* Visual registration form builder */
.visual-builder-banner{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin:16px 0 8px;color:#174354}
.visual-builder-banner span{font-size:.9rem;color:#53717e}
.visual-builder-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:8px 0 18px}
.visual-step{padding:14px;border:1px solid #ccdfe3;border-radius:14px;background:#f5fafb;margin-bottom:14px;min-width:0}
.visual-section{padding:12px;border:1px solid #dce8e9;border-radius:12px;background:white;margin:12px 0;min-width:0}
.visual-group-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.visual-group-head input{flex:1 1 150px;min-width:0;font-weight:650;color:#123b4d}
.visual-group-head .btn{min-height:36px;padding:5px 10px}
.visual-grip{color:#587987;cursor:grab;font-size:.85rem}
.visual-section-fields{min-height:24px}
.visual-section-fields .custom-field-row{margin:10px 0;padding:12px;min-width:0}
.visual-preview-step{color:#174354;font-size:1rem;border-bottom:1px solid #d9e9e9;padding-bottom:8px;margin:14px 0 8px}
.visual-preview-section{color:#007d82;font-size:.9rem;margin:10px 0}
.registration-builder-layout>*{min-width:0}
@media(max-width:760px){.registration-builder-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important}.registration-live-preview{position:static!important;max-height:none!important}.visual-builder-toolbar .btn{flex:1 1 130px}.visual-group-head{gap:6px}}

.visual-participant-step{color:#193f52;font-size:1.08rem;margin:20px 0 8px}.visual-participant-section{color:#007d83;font-size:.95rem;margin:14px 0 8px}
.visual-preview-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:12px 0}.visual-preview-navigation[hidden]{display:none}

/* Full registration builder preview and explicit drag handles */
.visual-grip[draggable="true"]{display:inline-flex;align-items:center;min-height:40px;padding:6px 10px;border:1px dashed #91b9c1;border-radius:9px;background:#edf7f8;cursor:grab;touch-action:none;user-select:none;font-weight:650}.visual-grip[draggable="true"]:active{cursor:grabbing}.visual-grip:focus-visible{outline:3px solid #007d83;outline-offset:2px}.visual-preview-switch{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0}.visual-preview-switch select{width:auto;min-width:150px}.registration-live-preview [data-preview-standard]{display:grid;gap:10px}.registration-live-preview .registration-preview-field input,.registration-live-preview .registration-preview-field select,.registration-live-preview .registration-preview-field textarea{width:100%;max-width:100%;box-sizing:border-box}.registration-core-fields{max-height:340px;overflow-y:auto;overscroll-behavior:contain}.registration-live-preview{max-height:min(80vh,850px);overflow-y:auto}@media(max-width:760px){.registration-live-preview{max-height:none;overflow:visible}.registration-core-fields{max-height:280px}}

/* Phase D: scoped Certificate Studio; responsive without page-wide horizontal scrolling. */
.certificate-studio .form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:end}
.certificate-studio .form-grid label {display:grid;gap:.4rem;min-width:0}
.certificate-studio .form-grid input:not([type=checkbox]) {width:100%;max-width:100%;box-sizing:border-box}
.certificate-preview {border:2px solid #087f90;padding:2rem;text-align:center;max-width:760px;margin:auto}
.certificate-studio .table-wrap {max-width:100%;overflow-x:auto}
.certificate-studio td form {display:flex;gap:.5rem;flex-wrap:wrap}
@media(max-width:650px){.certificate-studio .form-grid{grid-template-columns:minmax(0,1fr)}.certificate-preview{padding:1rem}}

/* Fixed webinar registration preview: admin create wizard only. */
.webinar-create-page .webinar-fixed-registration{display:grid;gap:16px}
.webinar-create-page .webinar-fixed-step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.webinar-create-page .webinar-fixed-step{min-width:0;padding:17px 18px;border:1px solid #deeaed;border-radius:12px;background:#fff}
.webinar-create-page .webinar-fixed-step span{display:inline-block;color:#087f90;font-size:11px;font-weight:800;letter-spacing:.07em}
.webinar-create-page .webinar-fixed-step h3{font-size:15px;margin:8px 0 5px}
.webinar-create-page .webinar-fixed-step p{font-size:13px;line-height:1.5;color:#526c7b;margin:0}
@media(max-width:650px){.webinar-create-page .webinar-fixed-step-grid{grid-template-columns:1fr}.webinar-create-page .webinar-fixed-step{padding:14px 15px}}

/* Webinar sign-up: visually align the creation journey with Explore Webinars. */
.auth-grid.signup-enterprise.wh4-signup:not(:has(.fpd-signin)) {
    background: #f4f8fa;
}
.auth-grid.signup-enterprise.wh4-signup .auth-art {
    background-image: linear-gradient(125deg, rgba(3, 32, 51, .84), rgba(2, 91, 96, .65)), url('/assets/images/fpd-design.png');
    background-position: center;
    background-size: cover;
    border-radius: 0 18px 18px 0;
}
.auth-grid.signup-enterprise.wh4-signup .hub-form-card {
    border: 1px solid #dbe9ee;
    box-shadow: 0 16px 44px rgba(8, 54, 73, .09);
    border-radius: 18px;
}
@media (max-width: 850px) {
    .auth-grid.signup-enterprise.wh4-signup .auth-art { border-radius: 0 0 15px 15px; }
}
