/* v67: shared constructor blocks, identities and protected content. */
.site-page .site-header .account-button.account-signed-in{display:inline-flex!important;align-items:center!important;justify-content:center;gap:8px;flex:0 0 auto!important;width:auto!important;min-width:44px;max-width:196px;min-height:44px;height:auto!important;padding:10px 12px!important;border-radius:16px;white-space:nowrap;overflow:hidden}
.site-page .site-header .account-button.account-signed-in svg{flex:0 0 20px;width:20px;height:20px}
.site-page .site-header .account-button .account-full-name{display:block;max-width:138px;min-width:0;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;word-break:normal!important;overflow-wrap:normal!important;line-height:1.35!important}
.site-page .header-inner,.site-page .nav-inner{min-width:0}
.site-page .nav-actions{flex:0 0 auto;min-width:0}
.business-enquiry{padding:clamp(20px,4vw,40px);background:#fff;border:1px solid #cfe6e8;border-radius:22px}
.business-enquiry input,.business-enquiry textarea{width:100%;min-width:0}
.business-response{line-height:1.6;color:#00545c;overflow-wrap:anywhere}
.access-programme{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #cfe6e8;padding:14px 0}
.programme-access-panel{margin-bottom:24px}.programme-access-panel .hero-actions{margin-top:24px}
.certificate-search-result{background:#fff;border:1px solid #cfe6e8;border-radius:18px;padding:20px;margin-top:18px;overflow:hidden}
.certificate-search-result img{display:block;width:100%;max-height:700px;object-fit:contain;background:#f7fcfc}
.certificate-selected-scan{width:100%;height:auto;display:block;object-fit:contain;max-height:1100px}
.scan-preview{border:1px dashed #a3ccce;padding:12px;border-radius:12px;background:#f7fcfc}
.scan-preview img{display:block;width:auto;height:auto;max-height:400px;max-width:100%;margin:auto;object-fit:contain}
.preserve-lines{white-space:pre-wrap}.business-request-list{display:grid;gap:18px;margin-top:24px}
.audience-editor{border:1px solid #cfe6e8;border-radius:14px;padding:18px;background:#f7fcfc}
.audience-editor legend{font-weight:700;color:#00545c}.audience-editor p{font-size:13px;line-height:1.6;margin-bottom:12px}
.audience-editor>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.audience-editor label{display:flex!important;gap:9px;align-items:center;font-weight:500!important}
.audience-editor input[type=checkbox]{width:18px!important;height:18px!important;flex:0 0 18px}
.admin-page .code-editor{font-family:Consolas,monospace;font-size:13px;line-height:1.65;white-space:pre;width:100%;padding:18px;margin:16px 0;tab-size:2}
.admin-page .section-row{grid-template-columns:28px 70px minmax(180px,1fr) auto}
.admin-page .section-row .admin-actions{flex-wrap:wrap;justify-content:flex-end;max-width:350px}
.admin-page .section-row p{overflow-wrap:anywhere}
.admin-page #pageForm input[type=checkbox],.admin-page #certForm input[type=checkbox]{width:18px;height:18px}
.admin-page .admin-topbar{z-index:30}
.site-page [data-managed-page]>.section{scroll-margin-top:calc(var(--header-height,124px) + 20px)}
.site-page .section-home_enterprise .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1350px){.site-page .site-header .account-button.account-signed-in{max-width:150px}.site-page .site-header .account-button .account-full-name{max-width:95px}}
@media(max-width:800px){.site-page .site-header .account-button.account-signed-in{max-width:124px;padding:8px!important}.site-page .site-header .account-button .account-full-name{max-width:72px;font-size:11px}.site-page .section-home_enterprise .feature-grid{grid-template-columns:1fr}.access-programme{display:block}.access-programme .status{margin-top:8px}.admin-page .section-row{display:flex;flex-wrap:wrap;gap:12px}.admin-page .section-row .admin-actions{max-width:none}.certificate-layout--v64{grid-template-columns:1fr!important}}
@media(max-width:380px){.site-page .site-header .account-button.account-signed-in{max-width:100px}.site-page .site-header .account-button .account-full-name{max-width:48px}.site-page .nav-actions{gap:6px}}

.site-page .site-header.nav-overflow .main-nav{display:none}
.site-page .site-header.nav-overflow .menu-button{display:grid}
.site-page .site-header.nav-overflow .header-actions{margin-left:auto}
  .site-page .site-header.nav-overflow .mobile-menu-backdrop:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 1; background: rgba(0,30,34,.6); }
  .site-page .site-header.nav-overflow .mobile-menu {
    display: flex; flex-direction: column; position: fixed; top: 0; bottom: 0; right: 0;
    width: min(420px,100%); max-width: 100%; height: 100vh; height: 100dvh;
    padding: max(22px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));
    border: 0; z-index: 2; background: #fff; overflow-y: auto; overscroll-behavior: contain;
    box-shadow: -20px 0 60px rgba(0,0,0,.2); transform: translateX(105%);
    visibility: hidden; pointer-events: none; transition: transform .25s,visibility .25s;
  }
  .site-page .site-header.nav-overflow .mobile-menu.open { transform: translateX(0); visibility: visible; pointer-events: auto; }
  .site-page .site-header.nav-overflow .mobile-menu-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 16px; margin-bottom: 8px; border-bottom: 1px solid var(--line); font-size: 1.3rem; color: var(--petrol); }
  .site-page .site-header.nav-overflow .mobile-menu-head button { flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--petrol); font-size: 1.7rem; line-height: 1; }
  .site-page .site-header.nav-overflow .mobile-link { display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; gap: 12px; min-height: 48px; padding: 12px 4px; border-bottom: 1px solid var(--line); font-size: 1rem; font-weight: 680; line-height: 1.4; overflow-wrap: anywhere; }
  .site-page .site-header.nav-overflow .mobile-link.active { color: var(--petrol); }
  .site-page .site-header.nav-overflow .mobile-request { margin-top: 22px; flex: 0 0 auto; }
  .site-page .site-header.nav-overflow .mobile-account { display: flex; align-items: center; gap: 9px; min-height: 44px; margin-top: 14px; flex: 0 0 auto; }
