/* ==================================================================
   Audit fixes, round three (19 September 2026)
   Loads after the platform stylesheet and the first two fixes plugins.
   Letters and numbers refer to the third audit page.
   ================================================================== */

/* ---- M1: one set of neutrals; the slate and social greys go ---- */
body.qapf3.qap-app,body.qapf3.woocommerce-account{
--qa-text:#172033;--qa-text-2:#5B6B85;--qa-text-3:#5B6B85;--qa-ink:#172033;--qa-dim:#5B6B85;--qa-faint:#5B6B85;
--qa-border:#E4E7EC;--qa-line:#E4E7EC;--qa-line-strong:#8A97AB;--qa-fill:#F0F2F5;--qa-bg:#F0F2F5;
--qa-navy:#173B5F;--qa-blue:#0A5BB0;--qa-blue-dark:#084A90;--qa-blue-soft:#E7F0FE;
--qa-r-card:12px;--qa-r-ctl:8px;
}
body.qapf3.qap-app .qap-appbar-nav a.qap-ab-link,body.qapf3.qap-app .qap-appbar-nav a.qap-ab-link span{color:#5B6B85}
body.qapf3.qap-app .qap-appbar-nav a.qap-ab-link:hover,body.qapf3.qap-app .qap-appbar-nav a.qap-ab-link:hover span{color:#172033}
body.qapf3.qap-app .qap-appbar-nav a.qap-ab-link.is-on,body.qapf3.qap-app .qap-appbar-nav a.qap-ab-link.is-on span{color:#0A5BB0}
body.qapf3.qap-app .qap-ab-me-btn,body.qapf3.qap-app .qap-ab-me-btn span,body.qapf3.qap-app .qap-ab-me-btn i{color:#172033}
body.qapf3.qap-app .qap-tl-body,body.qapf3.qap-app .qap-tl-body span{color:#5B6B85}
body.qapf3.qap-app .qap-tl-body a{color:#0A5BB0;font-weight:600}
body.qapf3.qap-app .qap-idcard-body h2,body.qapf3.qap-app .qap-idcard-body h2 a{color:#172033;text-decoration:none}
body.qapf3.qap-app .qap-nav li a:hover{background:#F0F2F5}
body.qapf3.qap-app .qap-grade,body.qapf3.qap-app .qap-result,body.qapf3.qap-app .qap-details{border-color:#E4E7EC}
body.qapf3.qap-app .qap-benefits li{background:#F0F2F5;color:#172033}
body.qapf3.qap-app .qap-vprompt,body.qapf3.qap-app a.qap-vprompt{color:#0A5BB0!important;border:1px solid #0A5BB0!important;border-style:solid!important;background:#fff}
body.qapf3.qap-app .qap-vprompt:hover{background:#E7F0FE}

/* ---- C1: the interests on Preferences are choices, not a checklist ---- */
body.qapf3.woocommerce-preferences .qap-benefits li::before{content:none!important;display:none!important}
body.qapf3.woocommerce-preferences .qap-benefits li{padding:8px 12px!important;background:#F0F2F5;border-radius:8px}
body.qapf3.woocommerce-preferences .qap-benefits li label{display:flex;align-items:center;gap:10px;margin:0;font-weight:500;font-size:14px;cursor:pointer;color:#172033}
body.qapf3.woocommerce-preferences .qap-benefits li input[type=checkbox]{appearance:auto;-webkit-appearance:auto;width:18px!important;height:18px!important;margin:0!important;accent-color:#0A5BB0;flex:0 0 18px;cursor:pointer}
body.qapf3.qap-app .qap-form input[type=checkbox]{appearance:auto;-webkit-appearance:auto;accent-color:#0A5BB0}

/* ---- C2: the grade requirements read at 4.5:1 and say Met or Not met in words ---- */
body.qapf3.qap-app .qap-benefits li.off{color:#5B6B85}
body.qapf3.qap-app .qap-benefits li.off::before{color:#8A97AB}
body.qapf3.qap-app .qap-benefits li small{display:block;margin-top:2px;color:#5B6B85;font-size:12.5px}
body.qapf3.qap-app .qap-benefits li.off small{color:#5B6B85}
body.qapf3 .qapf3-req{display:inline-block;margin:6px 0 0;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:2px 8px;line-height:1.4}
body.qapf3 .qapf3-req-on{background:#E7F4E8;color:#1B5E20}
body.qapf3 .qapf3-req-off{background:#fff;color:#172033;border:1px solid #8A97AB}
body.qapf3.qap-app .qap-result{padding:20px}
body.qapf3.qap-app .qap-result-head{flex-wrap:wrap;gap:8px 12px}
body.qapf3.qap-app .qap-result .qap-note{margin:12px 0 10px}
body.qapf3 .qapf3-note{margin:0 0 14px}

/* ---- C4, M15: the grade button wraps and fills a phone ---- */
body.qapf3.qap-app .qap-result .qap-btn{white-space:normal!important;text-align:center}
@media(max-width:600px){
body.qapf3.qap-app .qap-result .qap-btn{display:flex!important;width:100%}
body.qapf3.qap-app .qap-result-head strong{flex:1 1 100%}
}

/* ---- M3: scheme cards size to their content and look chosen ---- */
body.qapf3.qap-app .qap-grades{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
body.qapf3.qap-app .qap-grade{min-height:0!important;padding:16px 40px 16px 18px!important;text-align:left!important;align-items:flex-start!important;justify-content:flex-start!important;position:relative;border-radius:8px}
body.qapf3.qap-app .qap-grade::after{content:"";position:absolute;right:16px;top:50%;width:9px;height:9px;margin-top:-6px;border-right:2px solid #8A97AB;border-bottom:2px solid #8A97AB;transform:rotate(-45deg)}
body.qapf3.qap-app .qap-grade:hover::after,body.qapf3.qap-app .qap-grade:focus-visible::after{border-color:#0A5BB0}
body.qapf3.qap-app .qap-grade strong{margin-bottom:2px}
body.qapf3.qap-app .qap-grade .qap-status{margin-top:8px;display:inline-block}

/* ---- H4: one button style per action ---- */
body.qapf3.qap-app .qap-certlist td.qap-actions-col a.qap-link,body.qapf3.qap-app .qap-table td.qap-actions-col a.qap-link{display:inline-flex!important;align-items:center;justify-content:center;min-height:32px;padding:0 12px;margin:2px 6px 2px 0;border:1px solid #8A97AB;border-radius:8px;background:#fff;color:#172033!important;font-size:13px;font-weight:600;line-height:1.2;text-decoration:none!important;white-space:nowrap}
body.qapf3.qap-app .qap-table td.qap-actions-col a.qap-link:hover{background:#F0F2F5;border-color:#8A97AB}
body.qapf3.qap-app .qap-table td.qap-actions-col a.qap-link.qap-danger{color:#B42318!important;border-color:transparent;background:transparent}
body.qapf3.qap-app .qap-table td.qap-actions-col a.qap-link.qap-danger:hover{background:#FEECEB;border-color:transparent}
body.qapf3.qap-app .qap-table td.qap-actions-col{white-space:nowrap;text-align:left!important}
body.qapf3.qap-app .qap-certlist td.qap-actions-col a{display:inline-flex!important;padding:0 12px!important;min-height:32px!important;line-height:1.2!important;white-space:nowrap!important}
body.qapf3.qap-app .qap-certlist td.qap-actions-col a.qap-link.qapf3-primary{background:#0A5BB0;border-color:#0A5BB0;color:#fff!important}
body.qapf3.qap-app .qap-certlist td.qap-actions-col a.qap-link.qapf3-primary:hover{background:#084A90;border-color:#084A90}
body.qapf3.qap-app #buddypress .qap-profile-actions .qap-pbtn{background:#fff!important;border:1px solid #8A97AB!important;color:#172033!important}
body.qapf3.qap-app #buddypress .qap-profile-actions .qap-pbtn:hover{background:#F0F2F5!important}

/* ---- M5: the record tables lose their middle dot between actions ---- */
body.qapf3.qap-app .qap-table td.qap-actions-col{font-size:0}
body.qapf3.qap-app .qap-table td.qap-actions-col>*{font-size:13px}
body.qapf3.qap-app .qap-table td.qap-actions-col .qap-rec-frozen{font-size:12.5px;color:#5B6B85;white-space:normal;display:block}

/* ---- M4: one status pill (the CPD Log's is drawn by the rewrite) ---- */
body.qapf3.qap-app .qap-status{white-space:nowrap}

/* ---- H8: record forms ---- */
body.qapf3.qap-app .qap-details .qap-form,body.qapf3.qap-app .qap-plain-card form.qap-form{align-items:end}
body.qapf3.qap-app .qap-details .qap-form>p,body.qapf3.qap-app .qap-plain-card form.qap-form>p{margin:0 0 14px}
body.qapf3 .qapf3-help{display:block;margin:4px 0 0;font-size:13px;color:#5B6B85;font-weight:400;line-height:1.45}
body.qapf3 label>.qapf3-help{margin:2px 0 6px}
body.qapf3 .qapf3-req-note{grid-column:1/-1;margin:0 0 6px!important;font-size:13px;color:#5B6B85}
body.qapf3.qap-app .qap-form input[type=file]{font-size:13px;color:#5B6B85;padding:2px 0}
body.qapf3.qap-app .qap-form input[type=file]::file-selector-button{box-sizing:border-box;display:inline-flex;align-items:center;min-height:32px;margin:0 10px 0 0;padding:0 12px;border:1px solid #8A97AB;border-radius:8px;background:#fff;color:#172033;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}
body.qapf3.qap-app .qap-form input[type=file]::file-selector-button:hover{background:#F0F2F5;border-color:#8A97AB}
body.qapf3.qap-app .qap-form p:has(>.qap-btn){display:flex;flex-wrap:wrap;gap:8px;align-items:center;grid-column:1/-1}
body.qapf3.qap-app .qap-details summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid #8A97AB;border-radius:8px;background:#fff;color:#172033!important;font-size:14px;font-weight:600;cursor:pointer;width:max-content;max-width:100%}
body.qapf3.qap-app .qap-details summary::-webkit-details-marker{display:none}
body.qapf3.qap-app .qap-details summary::before{content:"+";font-size:18px;line-height:1;color:#0A5BB0}
body.qapf3.qap-app .qap-details[open] summary::before{content:"\2013"}
body.qapf3.qap-app .qap-details summary:hover{background:#F0F2F5}
body.qapf3.qap-app .qap-details{border:0!important;padding:0!important;background:transparent!important;margin:0 0 16px}
body.qapf3.qap-app .qap-details[open]{border:1px solid #E4E7EC!important;border-radius:12px!important;padding:16px!important;background:#fff!important}
body.qapf3.qap-app .qap-details[open] summary{margin-bottom:12px}

/* ---- M12: short labels with helper lines on Register Entry ---- */
body.qapf3 .qapf3-check label{display:flex;align-items:center;gap:10px;font-weight:600;margin:0}
body.qapf3 .qapf3-check .qapf3-help{margin-left:28px}

/* ---- M13: the note on Approvals has a label; the buttons sit level with the field ---- */
body.qapf3 .qapf3-lbl{display:block;flex:1 1 100%;min-width:0}
body.qapf3 .qapf3-lbl>span{display:block;font-size:13px;font-weight:600;color:#172033;margin:0 0 2px}
body.qapf3 .qapf3-lbl>small{display:block;font-size:12.5px;color:#5B6B85;margin:0 0 6px}
body.qapf3 .qapf3-lbl textarea{width:100%;box-sizing:border-box;min-height:40px;display:block}
body.qapf3.qap-app .qap-ap-act{align-items:center;flex-wrap:wrap;gap:8px}
body.qapf3.qap-app .qap-ap-act .qap-btn{align-self:auto;height:36px;min-height:36px}

/* ---- H3, M8: the verification form where the member can see it; a neutral example for the mark ---- */
body.qapf3.qap-app .qap-vhero{text-align:left}
body.qapf3.qap-app .qap-vhero h2{text-align:left;font-size:20px}
body.qapf3.qap-app .qap-vhero .qap-vwhy{text-align:left}
body.qapf3.qap-app .qap-vhero-face{margin-left:0}
body.qapf3 .qapf3-silhouette{display:block;width:96px;height:96px;border-radius:50%}
body.qapf3 .qapf3-vcap{display:block;font-size:12.5px;color:#5B6B85;margin:6px 0 10px}
body.qapf3.qap-app .qap-vroute{margin-top:16px}
body.qapf3.qap-app .qap-vhero+.qap-vroute{margin-top:16px}

/* ---- M28: the verify link sits under the name, not inside the heading ---- */
body.qapf3 .qapf3-vline{margin:4px 0 8px;text-align:center}
body.qapf3 .qapf3-vline-profile{text-align:left;margin:2px 0 6px;order:1}
body.qapf3.qap-app .qap-idcard-body .qapf3-vline .qap-vprompt{margin:0}

/* ---- H5, section F: the identity card carries one action ---- */
body.qapf3.qap-app .qap-idcard-actions .qap-btn{width:100%}
/* ---- M27: on the Feed and Network the card follows the rails' own rule: left rail on wide screens, right rail below 1200px ---- */
@media(min-width:1200px){body.qapf3.qap-app .qapf-three>.qap-rail-right>.qapf3-idcard{display:none!important}}
body.qapf3.qap-app .qap-rail-left>.qapf3-idcard,body.qapf3.qap-app .qap-rail-right>.qapf3-idcard{text-align:center;flex:0 0 auto;height:auto}

/* ---- L3, L4: dashboard panels share the row height; one padding per card type ---- */
body.qapf3.qap-app .qap-dash-two{align-items:stretch}
body.qapf3.qap-app .qap-dash-two>.qap-card{height:auto}
body.qapf3.qap-app .qap-plain-card{padding:20px}
@media(max-width:899px){body.qapf3.qap-app .qap-plain-card{padding:16px}}

/* ---- M6: the regrouped sidebar ---- */
body.qapf3.qap-app .qapf3-nav .qap-nav-heading:first-child{padding-top:6px}

/* ---- M9 is applied by the rewrite ---- */

/* ---- M10: the Auditor Register title sits over its column ---- */
body.qapf3.qap-app .qap-page-head{max-width:860px;margin-left:auto;margin-right:auto}

/* ---- M11: the fee table button aligns with the sentence above it ---- */
body.qapf3.qap-app .woocommerce-MyAccount-content .woocommerce-info a.button,body.qapf3.qap-app .woocommerce-MyAccount-content .woocommerce-info .qap-btn{margin-left:0!important;flex:0 0 auto}
body.qapf3.qap-app .woocommerce-MyAccount-content .woocommerce-info{gap:12px 0!important}
body.qapf3.qap-app .woocommerce-MyAccount-content .woocommerce-info>*{flex-basis:100%}

/* ---- M16: section tabs are underlined; pills are for filters ---- */
body.qapf3.qap-app .qap-nt-pills{gap:0 18px;border-bottom:1px solid #E4E7EC}
body.qapf3.qap-app .qap-nt-pill{background:transparent!important;border:0!important;border-radius:0!important;color:#5B6B85!important;padding:10px 2px!important;font-weight:600}
body.qapf3.qap-app .qap-nt-pill.is-on{color:#0A5BB0!important;box-shadow:inset 0 -2px 0 #0A5BB0}
body.qapf3.qap-app .qap-nt-pill:hover{color:#172033!important}

/* ---- M18: one footer line for every app page ---- */
body.qapf3.qap-app .qap-rail-legal.qapf3-footline,body.qapf3.qap-app p.qapf3-footline{margin:24px auto 0;padding:16px 0 0;border-top:1px solid #E4E7EC;font-size:13px;color:#5B6B85;text-align:center;max-width:1280px;line-height:1.7}
body.qapf3.qap-app .qapf3-footline a{color:#5B6B85}
body.qapf3.qap-app .qapf3-footline a:hover{color:#0A5BB0}
body.qapf3.qap-app .qap-rail .qap-rail-legal{display:none}

/* ---- M22, M27: the profile header and the edit form ---- */
body.qapf3.qap-app.bp-user #buddypress #header-cover-image{height:120px!important}
body.qapf3.qap-app.bp-user #buddypress #item-header-cover-image{padding-top:120px!important}
body.qapf3.qap-app.bp-user #buddypress #item-header-avatar,body.qapf3.qap-app.bp-user #buddypress .item-header-avatar{margin-top:-48px!important}
body.qapf3.qap-app.bp-user #buddypress #item-header-avatar img,body.qapf3.qap-app.bp-user #buddypress #item-header-avatar .avatar{width:96px!important;height:96px!important;border-width:3px!important}
body.qapf3.qap-app.bp-user #buddypress #item-header-content h2.qap-name{font-size:24px}
body.qapf3.qap-app.bp-user #buddypress #item-header-content{padding-bottom:16px!important}
body.qapf3.qap-app #buddypress .standard-form .editfield,body.qapf3.qap-app #buddypress .profile-fields fieldset.editfield{border:0!important;border-radius:0!important;padding:0!important;margin:0 0 18px!important;background:transparent!important}
body.qapf3.qap-app #buddypress .profile.edit form.standard-form,body.qapf3.qap-app #buddypress form.standard-form#profile-edit-form{background:#fff;border:1px solid #E4E7EC;border-radius:12px;padding:20px}
body.qapf3.qap-app #buddypress .standard-form .editfield input[type=text],body.qapf3.qap-app #buddypress .standard-form .editfield input[type=url],body.qapf3.qap-app #buddypress .standard-form .editfield input[type=email],body.qapf3.qap-app #buddypress .standard-form .editfield textarea{max-width:576px;min-height:40px;padding:8px 12px;border-color:#8A97AB}
body.qapf3.qap-app #buddypress .standard-form .editfield legend,body.qapf3.qap-app #buddypress .standard-form .editfield label{font-size:13px;font-weight:600;margin-bottom:4px}
body.qapf3.qap-app #buddypress .standard-form .editfield .description{font-size:13px;margin:4px 0 0}
body.qapf3.qap-app #buddypress .standard-form .editfield .field-visibility-settings-toggle,body.qapf3.qap-app #buddypress .standard-form .editfield .field-visibility-settings-notoggle{font-size:12.5px;margin-top:4px}
body.qapf3.qap-app #buddypress .profile.edit h2.screen-heading{margin-bottom:12px}

/* ---- M26: the Jobs Portal shares the 1280px container ---- */
body.qapf3.qap-app .qap-jobs,body.qapf3.qap-app .qap-jobs-shell,body.qapf3.qap-app .qap-jobs-page{max-width:1280px!important}
body.qapf3.qap-app .qap-jobs-detail{border-right:0!important}
/* ---- L11: the blue edge on the job panel was the theme's blue scrollbar; inside the app it is a quiet grey ---- */
body.qapf3.qap-app ::-webkit-scrollbar{width:8px!important;height:8px!important}
body.qapf3.qap-app ::-webkit-scrollbar-track{background:#F0F2F5!important}
body.qapf3.qap-app ::-webkit-scrollbar-thumb{background:#8A97AB!important;border-radius:4px!important}
body.qapf3.qap-app ::-webkit-scrollbar-thumb:hover{background:#8A97AB!important}
body.qapf3.qap-app .qap-jobs-detail,body.qapf3.qap-app .qap-jobs-list{scrollbar-width:thin;scrollbar-color:#8A97AB #F0F2F5}

/* ---- L7: the message search looks like every other input ---- */
body.qapf3.qap-app .qap-dock-search input,body.qapf3.qap-app .qap-dock input[type=search]{background:#fff!important;border:1px solid #8A97AB!important;border-radius:8px!important;min-height:36px;padding:6px 12px 6px 34px;font-size:14px;color:#172033}

/* ---- Section L: the certification card on narrow screens ---- */
@media(max-width:720px){body.qapf3.qap-app .qap-certcard-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){body.qapf3.qap-app .qap-certcard-actions{grid-template-columns:1fr!important}}
@media(max-width:640px){body.qapf3.qap-app .qap-quick .qap-btn{flex:1 1 100%}}
@media(max-width:899px){
body.qapf3.qap-app .qap-idcard-body .qapf3-vline{text-align:left;margin:2px 0 4px}
body.qapf3.qap-app .qap-idcard-actions .qap-btn{flex:0 1 auto;width:auto;max-width:220px}
}

/* ---- L5: the WordPress bar stays out of the app on small screens (staff only see it) ---- */
html.qapf3-nobar{margin-top:0!important}
html.qapf3-nobar #wpadminbar{display:none!important}
html.qapf3-nobar body.admin-bar .qap-appbar{top:0!important}
html.qapf3-nobar body.qapf3-member-public.admin-bar .qap-appbar{top:0!important}

/* ---- Verification: the send button waits for a photograph ---- */
body.qapf3.qap-app .qap-btn[disabled],body.qapf3.qap-app .qap-btn.is-disabled{opacity:.5;pointer-events:none}

/* ==================================================================
   Members on the public pages: the app bar replaces the site header (H2)
   ================================================================== */
body.qapf3-member-public .site-header{display:none!important}
body.qapf3-member-public{padding-top:56px}
body.qapf3-member-public .qap-appbar{position:fixed;top:0;left:0;right:0;z-index:9990;background:#fff;border-bottom:1px solid #E4E7EC;box-shadow:none;font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
body.qapf3-member-public.admin-bar .qap-appbar{top:var(--wp-admin--admin-bar--height,32px)}
body.qapf3-member-public .qap-appbar-in{max-width:1320px;margin:0 auto;display:flex;align-items:center;gap:22px;padding:0 20px;height:56px;box-sizing:border-box}
body.qapf3-member-public .qap-appbar-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;line-height:0}
body.qapf3-member-public .qap-appbar-logo img{width:40px;height:auto;margin:0;display:block}
body.qapf3-member-public .qapf2-wordmark{font:700 15px/1 "Sora","DM Sans",sans-serif;color:#173B5F;letter-spacing:-.01em;white-space:nowrap}
body.qapf3-member-public .qap-appbar-nav{display:flex;align-items:stretch;gap:2px;flex:1 1 auto;justify-content:center;min-width:0;height:56px;margin:0}
body.qapf3-member-public .qap-ab-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0 10px;min-width:60px;font-size:11px;line-height:14px;font-weight:500;text-decoration:none;white-space:nowrap;color:#5B6B85;border:0}
body.qapf3-member-public .qap-ab-link:hover{color:#172033}
body.qapf3-member-public .qap-ab-i{width:20px;height:20px;fill:currentColor}
body.qapf3-member-public .qap-appbar-user{display:flex;align-items:center;gap:14px;margin-left:auto}
body.qapf3-member-public .qap-ab-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:#172033;text-decoration:none}
body.qapf3-member-public .qap-ab-bell:hover{background:#F0F2F5}
body.qapf3-member-public .qap-ab-dot{position:absolute;top:3px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#B42318;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}
body.qapf3-member-public .qap-ab-me{position:relative}
body.qapf3-member-public .qap-ab-me-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 8px;border:0;background:transparent;color:#172033;font-size:13px;font-weight:500;cursor:pointer;border-radius:8px;font-family:inherit}
body.qapf3-member-public .qap-ab-me-btn:hover{background:#F0F2F5}
body.qapf3-member-public .qap-ab-me-btn img{width:28px;height:28px;border-radius:50%;display:block;margin:0}
body.qapf3-member-public .qap-ab-me-btn i{font-style:normal;font-size:10px;opacity:.8}
body.qapf3-member-public .qap-ab-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:220px;background:#fff;border:1px solid #E4E7EC;border-radius:12px;box-shadow:0 4px 16px rgba(16,24,40,.08);padding:6px;z-index:60}
body.qapf3-member-public .qap-ab-menu[hidden]{display:none!important}
body.qapf3-member-public .qap-ab-menu a{display:block;padding:9px 12px;border-radius:8px;font-size:14px;line-height:20px;color:#172033;text-decoration:none}
body.qapf3-member-public .qap-ab-menu a:hover{background:#E7F0FE;color:#0A5BB0}
body.qapf3-member-public .qap-ab-menu-out{border-top:1px solid #E4E7EC;border-radius:0 0 8px 8px;margin-top:4px;padding-top:12px!important;color:#5B6B85!important}
body.qapf3-member-public a:focus-visible,body.qapf3-member-public button:focus-visible{outline:2px solid #0A5BB0;outline-offset:2px}
@media(max-width:899px){
body.qapf3-member-public .qapf2-wordmark{display:none}
body.qapf3-member-public .qap-appbar-in{gap:6px;padding:0 10px}
body.qapf3-member-public .qap-appbar-logo img{width:32px}
body.qapf3-member-public .qap-appbar-nav{gap:0;justify-content:space-evenly}
body.qapf3-member-public .qap-ab-link span{display:none}
body.qapf3-member-public .qap-ab-link{min-width:40px;padding:0 4px}
body.qapf3-member-public .qap-appbar-user{gap:4px;flex:0 0 auto}
body.qapf3-member-public .qap-ab-bell{width:32px}
body.qapf3-member-public .qap-ab-me-btn{padding:0 4px;gap:2px}
body.qapf3-member-public .qap-ab-me-btn>span{display:none}
}

/* ==================================================================
   The public shell shares the tokens (H2, M2, M14, M21, M23, M24, H7)
   ================================================================== */
/* Buttons: 8px corners, sentence case, one blue */
body.qapf3 .site-header .btn-register,body.qapf3 .site-header .btn-login,body.qapf3 .site-header .mobile-register-btn,body.qapf3 .site-header .mobile-login-btn{border-radius:8px!important;text-transform:none!important;letter-spacing:normal!important;font-weight:600!important;font-size:14px!important;min-height:36px;display:inline-flex!important;align-items:center;justify-content:center;padding:0 16px!important;box-shadow:none!important}
body.qapf3 .site-header .btn-register,body.qapf3 .site-header .mobile-register-btn{background:#0A5BB0!important;border:1px solid #0A5BB0!important;color:#fff!important}
body.qapf3 .site-header .btn-register:hover,body.qapf3 .site-header .mobile-register-btn:hover{background:#084A90!important;border-color:#084A90!important}
body.qapf3 .site-header .btn-login,body.qapf3 .site-header .mobile-login-btn{background:#fff!important;border:1px solid #8A97AB!important;color:#172033!important;margin-right:8px}
body.qapf3 .site-header .btn-login:hover{background:#F0F2F5!important}
body.qapf3 .site-header .header-cta-group{display:flex;align-items:center;gap:8px}
body.qapf3 .site-header .btn-login i{display:none}
/* Visitors log in or register from the strip at the top: no second pair of buttons after the menu */
body.qapf3-visitor .site-header .header-cta-group,body.qapf3-visitor .site-header .mobile-cta-group{display:none!important}
/* The utility strip: Training Schedule is gone from it; a visitor's strip holds Log in and Register */
body.qapf3 .site-header .header-topbar a.topbar-link[href*="training-schedule"]{display:none!important}
body.qapf3-visitor .site-header .header-topbar-right>a.topbar-link{white-space:nowrap}
/* The basket and checkout buttons */
body.qapf3 .wc-block-cart__submit-button,body.qapf3 .wc-block-components-checkout-place-order-button,body.qapf3 .wc-block-components-button{border-radius:8px!important;background:#0A5BB0!important;color:#fff!important;font-weight:600!important;text-transform:none!important}
body.qapf3 .wc-block-cart__submit-button:hover,body.qapf3 .wc-block-components-checkout-place-order-button:hover,body.qapf3 .wc-block-components-button:hover{background:#084A90!important}
body.qapf3 .wc-block-cart__empty-cart__title{font-size:22px}
body.qapf3 .wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before{display:none}
body.qapf3 .qapf3-cart-empty{text-align:center;color:#5B6B85;margin:8px 0 16px}
body.qapf3 .qapf3-cart-empty-cta{text-align:center;margin:0 0 24px}
body.qapf3 .qapf3-btn-outline{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:1px solid #8A97AB;border-radius:8px;background:#fff;color:#172033;font-size:14px;font-weight:600;text-decoration:none}
body.qapf3 .qapf3-btn-outline:hover{background:#F0F2F5;border-color:#8A97AB}
/* The training page: a course's length stays on one line, one card ground */
body.qapf3 .course-type-meta .days{white-space:nowrap}
body.qapf3 .course-type>span:first-child{min-width:0;flex:1 1 auto}
/* Account, basket and checkout pages: a shorter title band and the form near the top (H7) */
body.qapf3.woocommerce-account:not(.logged-in) .page-hero,body.qapf3.woocommerce-cart .page-hero,body.qapf3.woocommerce-checkout .page-hero{min-height:0!important;padding-top:28px!important;padding-bottom:28px!important}
body.qapf3.woocommerce-account:not(.logged-in) .page-hero h1,body.qapf3.woocommerce-cart .page-hero h1,body.qapf3.woocommerce-checkout .page-hero h1{font-size:28px!important;margin:6px 0 0!important}
body.qapf3.woocommerce-account:not(.logged-in) .page-hero p,body.qapf3.woocommerce-cart .page-hero p{display:none}
body.qapf3.woocommerce-account:not(.logged-in)>section{padding-top:40px!important}
/* A Log in or Register link lands with the whole card in view, 40px under the sticky header; the
 * script measures the real header and card, this is the fallback without it */
body.qapf3.woocommerce-account:not(.logged-in) #login,body.qapf3.woocommerce-account:not(.logged-in) #register{scroll-margin-top:129px}
body.qapf3.woocommerce-account:not(.logged-in) .woocommerce{margin-top:0!important}
body.qapf3.woocommerce-account:not(.logged-in) .qap-lost-card{margin-top:0!important}
/* Visitor forms use the app's 40px controls (M24) */
body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .form-row .input-text,body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .form-row input[type=text],body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .form-row input[type=email],body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .form-row input[type=password]{min-height:40px!important;font-size:14px!important}
body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form button.button,body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .woocommerce-Button,body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form button[type=submit]{min-height:40px!important;font-size:14px!important}
/* The show-password eye sits inside the 40px field, centred on it and 4px in from its right edge
 * (Log in, Register and the reset-password form). The earlier rule moved it up without clearing
 * WooCommerce's translateY(-50%), so it hung over the field's top border. */
body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .form-row .password-input{display:flex!important;align-items:center!important;position:relative!important;width:100%!important}
body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .form-row .password-input input{flex:1 1 auto;width:100%;min-width:0;padding-right:44px!important}
body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .form-row .show-password-input{position:absolute!important;top:50%!important;right:4px!important;bottom:auto!important;left:auto!important;transform:translateY(-50%)!important;width:32px!important;height:32px!important;margin:0!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:6px;background:transparent!important;color:#5B6B85!important}
body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .form-row .show-password-input::before{position:static!important;right:auto!important;width:22px!important;height:22px!important;margin:0!important}
body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .form-row .show-password-input:hover{background:#F0F2F5!important}
body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .form-row .show-password-input:focus-visible{outline:2px solid #0A5BB0!important;outline-offset:1px!important}
body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .woocommerce-LostPassword,body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .lost_password{text-align:left}
body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .woocommerce-form-login__rememberme input,body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .qap-register-conduct input{appearance:auto;-webkit-appearance:auto;width:18px;height:18px;margin:0;accent-color:#0A5BB0;flex:0 0 18px}
body.qapf3.woocommerce-account:not(.logged-in) .qap-register-conduct .required{white-space:nowrap}
/* Tick boxes sit on the first line of their text, and a wrapped line stays clear of the box */
body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form label.woocommerce-form-login__rememberme,body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .qap-register-conduct label.qap-check{display:flex!important;align-items:flex-start!important;gap:10px!important;margin:0 0 10px!important;line-height:20px!important;cursor:pointer}
body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form label.woocommerce-form-login__rememberme input[type=checkbox],body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .qap-register-conduct label.qap-check input[type=checkbox]{flex:0 0 18px!important;width:18px!important;height:18px!important;margin:1px 0 0!important;vertical-align:top}
body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form label.woocommerce-form-login__rememberme>span,body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .qap-register-conduct label.qap-check>span{flex:1 1 auto;min-width:0;line-height:20px}
/* Text rows sit closer together: about a third less space between lines */
body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .form-row label{line-height:20px!important}
body.qapf3.woocommerce-account:not(.logged-in) .qap-register-intro,body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .lost_password,body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .woocommerce-LostPassword,body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .qap-note{line-height:21px!important}
body.qapf3.woocommerce-account:not(.logged-in) .woocommerce-privacy-policy-text p{line-height:20px!important}
body.qapf3 .qapf3-loginnote{max-width:920px;margin:0 auto 20px!important;background:#E7F0FE!important;border:1px solid #C5D9F4!important;border-radius:12px!important;color:#172033!important;padding:12px 16px!important;font-size:14px}
body.qapf3 .qapf3-loginnote::before{display:none!important}

/* ==================================================================
   Round four (20 September 2026). Numbers refer to the round-four audit page.
   ================================================================== */
/* ---- H2: the app bar and the rail cards use the one grey scale; platform-tokens.css set these with !important ---- */
body.qap-app .qap-appbar .qap-appbar-nav a.qap-ab-link,body.qap-app .qap-appbar .qap-ab-link span,body.qap-app .qap-appbar .qap-ab-link .qap-ab-i,body.qap-app .qap-appbar-nav a{color:#5B6B85!important;fill:#5B6B85!important}
body.qap-app .qap-appbar .qap-appbar-nav a.qap-ab-link:hover,body.qap-app .qap-appbar .qap-ab-link:hover span,body.qap-app .qap-appbar .qap-ab-link:hover .qap-ab-i{color:#172033!important;fill:#172033!important}
body.qap-app .qap-appbar .qap-appbar-nav a.qap-ab-link.is-on,body.qap-app .qap-appbar .qap-ab-link.is-on span,body.qap-app .qap-appbar .qap-ab-link.is-on .qap-ab-i,body.qap-app .qap-appbar .qap-appbar-nav a[aria-current="page"],body.qap-app .qap-appbar .qap-appbar-nav a[aria-current="page"] span,body.qap-app .qap-appbar .qap-appbar-nav a[aria-current="page"] .qap-ab-i{color:#0A5BB0!important;fill:#0A5BB0!important}
body.qap-app .qap-appbar .qap-ab-bell,body.qap-app .qap-appbar .qap-ab-bell svg,body.qap-app .qap-appbar .qap-ab-me-btn,body.qap-app .qap-appbar .qap-ab-me-btn span,body.qap-app .qap-appbar .qap-ab-me-btn i,body.qap-app .qap-appbar .qap-appbar-logo,body.qap-app .qap-appbar .qap-appbar-logo strong{color:#172033!important;fill:#172033!important}
body.qap-app .qap-appbar .qapf2-wordmark{color:#173B5F!important}
body.qapf3.qap-app .qap-railpeople strong,body.qapf3.qap-app .qap-railpeople a:not(.qap-btn),body.qapf3.qap-app .qap-railjobs strong,body.qapf3.qap-app .qap-railjobs a:not(.qap-btn):not(.qap-link),body.qapf3.qap-app .qap-railjobs .qap-rj-title{color:#172033!important}
body.qapf3.qap-app .qap-railpeople span,body.qapf3.qap-app .qap-railpeople small,body.qapf3.qap-app .qap-railjobs span,body.qapf3.qap-app .qap-railjobs small,body.qapf3.qap-app .qap-railjobs .qap-rj-meta{color:#5B6B85!important}
body.qapf3.qap-app .qap-railpeople a.qap-rail-more,body.qapf3.qap-app .qap-railjobs a.qap-rail-more,body.qapf3.qap-app .qap-rail-card>a:last-child{color:#0A5BB0!important}
body.qapf3.qap-app .qap-idcard-avatar{background:#E4E7EC!important}
body.qapf3.qap-app .qap-meter{background:#E4E7EC!important}
body.qapf3.qap-app .qap-dot{background:#8A97AB!important;border-color:#8A97AB!important}
/* ---- H3: one outline button everywhere: 1 px #8A97AB, #172033 text ---- */
body.qapf3.qap-app .qap-certlist td.qap-actions-col a.qap-link,body.qapf3.qap-app .qap-table td.qap-actions-col a.qap-link,body.qapf3.qap-app .qap-details summary{border-color:#8A97AB}
body.qapf3.qap-app .qap-certlist td.qap-actions-col a.qap-link:hover,body.qapf3.qap-app .qap-table td.qap-actions-col a.qap-link:hover,body.qapf3.qap-app .qap-details summary:hover{border-color:#8A97AB;background:#F0F2F5}
body.qapf3.qap-app #buddypress .friendship-button a,body.qapf3.qap-app #buddypress .generic-button a,body.qapf3.qap-app #buddypress a.friendship-button,body.qapf3.qap-app #buddypress .members-list .generic-button a,body.qapf3.qap-app #buddypress .member-actions a{display:inline-flex!important;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border:1px solid #8A97AB!important;border-radius:8px!important;background:#fff!important;color:#172033!important;font-size:13px;font-weight:600;text-decoration:none!important}
body.qapf3.qap-app #buddypress .friendship-button a:hover,body.qapf3.qap-app #buddypress .generic-button a:hover{background:#F0F2F5!important;border-color:#8A97AB!important;color:#172033!important}
body.qapf3.qap-app #buddypress .qap-profile-actions .qap-pbtn{border-color:#8A97AB!important}
body.qapf3 .qapf3-btn-outline{border-color:#8A97AB}
body.qapf3 .qapf3-req-off{border-color:#8A97AB}
/* ---- H5: one pill for Verify your identity on every page ---- */
body.qapf3.qap-app .qap-vprompt,body.qapf3.qap-app a.qap-vprompt,body.qapf3.qap-app .qap-rail .qap-vprompt,body.qapf3.qap-app #buddypress .qap-vprompt,body.qapf3.qap-app .qap-vprompt span,body.qapf3.qap-app .qap-vprompt svg{color:#0A5BB0!important;fill:#0A5BB0!important;border-color:#0A5BB0!important;background:#E7F0FE!important}
body.qapf3.qap-app .qap-vprompt:hover{background:#D9E7FB!important}
/* ---- M2: every profile sub-page uses the slim banner: a 72px cover, the avatar overlapping it, and
 * the name, badge and headline beside the avatar, with no empty band under them (27 September 2026) ---- */
body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header{padding:0!important;margin:0!important;min-height:0!important}
body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #cover-image-container{min-height:0!important;margin:0!important;padding:0!important;height:auto!important}
body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #header-cover-image{height:72px!important;min-height:0!important}
body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-cover-image{display:flex!important;align-items:flex-start;gap:16px;min-height:0!important;margin:0!important;padding:72px 24px 16px!important}
body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-avatar{flex:0 0 auto;width:auto!important;margin:-40px 0 0!important;padding:0!important;float:none!important}
body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-avatar a{display:block;width:auto!important;height:auto!important;border-radius:50%;transition:box-shadow .12s}
body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-avatar a:hover{box-shadow:0 0 0 3px var(--qa-blue-soft,#E7F0FE)}
body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-avatar a:focus-visible{outline:2px solid var(--qa-blue,#0A5BB0);outline-offset:2px}
body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-avatar img,body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-avatar .avatar{display:block;width:80px!important;height:80px!important;min-width:0!important;margin:0!important;border:4px solid #fff!important;border-radius:50%!important;box-sizing:border-box;object-fit:cover;box-shadow:0 1px 3px rgba(16,24,40,.12)}
body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-content{flex:1 1 auto;min-width:0;margin:0!important;padding:8px 0 0!important;min-height:0!important;text-align:left}
body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-content h2.qap-name{display:flex;align-items:center;gap:6px;margin:0!important;min-height:0!important;font-size:20px!important;line-height:28px!important}
body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-content .qap-headline{display:block!important;margin:2px 0 0!important;font-size:14px;line-height:20px;color:var(--qa-text-2,#5B6B85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-content :is(.qap-vprompt,.qap-hero-loc,.qap-conns,.qap-hero-meta,.qap-profile-actions,.item-meta,.user-nicename,.member-header-actions){display:none!important}
@media (max-width:600px){
	body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #header-cover-image{height:56px!important}
	body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-cover-image{gap:12px;padding:56px 16px 12px!important}
	body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-avatar{margin-top:-32px!important}
	body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-avatar img,body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-avatar .avatar{width:64px!important;height:64px!important;border-width:3px!important}
	body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-content{padding-top:4px!important}
	body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-content h2.qap-name{font-size:18px!important;line-height:24px!important}
	body.qapf3.qap-app.bp-user:is(.friends,.groups,.notifications,.settings,.messages,.activity) #buddypress #item-header-content .qap-headline{font-size:13px;line-height:18px;white-space:normal;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical}
}
/* ---- M4: the same field on Approvals, the Feed composer and the Network sort ---- */
body.qapf3 .qapf3-lbl textarea{border:1px solid #8A97AB!important;border-radius:8px!important;padding:8px 12px;font-size:14px}
body.qapf3.qap-app #buddypress #whats-new-form #whats-new,body.qapf3.qap-app #buddypress #whats-new{border:1px solid #8A97AB!important;border-radius:8px!important;font-size:14px}
body.qapf3.qap-app #buddypress .dir-search select,body.qapf3.qap-app #buddypress .dir-search input[type=search],body.qapf3.qap-app #buddypress #members-order-select select,body.qapf3.qap-app #buddypress select#members-order-by,body.qapf3.qap-app #buddypress .filter select{min-height:40px!important;height:40px!important;border:1px solid #8A97AB!important;border-radius:8px!important;padding:0 32px 0 12px!important;font-size:14px;color:#172033}
/* ---- M5: one radius per component: tables and controls 8 px, cards and posts 12 px ---- */
body.qapf3.qap-app .qap-table,body.qapf3.qap-app .qap-certlist,body.qapf3.qap-app table.qap-table{border-radius:8px!important;border-color:#E4E7EC!important}
body.qapf3.qap-app .qap-table th{border-color:#E4E7EC!important}
body.qapf3.qap-app #buddypress .activity-list .activity-item,body.qapf3.qap-app #buddypress li.activity-item{border-radius:12px!important;border-color:#E4E7EC!important}
/* ---- M6: text on the selected job card reads at 4.9:1 ---- */
body.qapf3.qap-app .qap-job-card.is-on .qap-job-card-place,body.qapf3.qap-app .qap-job-card.is-on .qap-job-card-foot,body.qapf3.qap-app .qap-job-card.is-on span,body.qapf3.qap-app .qap-job-card[aria-current] span{color:#5B6B85!important}
/* ---- M8: the messaging dock is a round button until it is opened, and never on the Messages page ---- */
body.qapf3:is(.qap-app,.qapf3-member-public) .qap-dock[data-open="0"]{width:auto!important;min-width:0!important;background:transparent!important;border:0!important;box-shadow:none!important;right:24px!important;bottom:24px!important}
body.qapf3:is(.qap-app,.qapf3-member-public) .qap-dock[data-open="0"] .qap-dock-head{display:flex!important;align-items:center;justify-content:center;width:48px;height:48px;padding:0!important;border-radius:50%!important;background:#0A5BB0!important;box-shadow:0 4px 16px rgba(16,24,40,.18)!important}
body.qapf3:is(.qap-app,.qapf3-member-public) .qap-dock[data-open="0"] .qap-dock-head .qap-dock-toggle{width:48px;height:48px;padding:0!important;margin:0!important;border-radius:50%!important;background:transparent!important;display:flex!important;align-items:center;justify-content:center;position:relative}
body.qapf3:is(.qap-app,.qapf3-member-public) .qap-dock[data-open="0"] .qap-dock-me,body.qapf3:is(.qap-app,.qapf3-member-public) .qap-dock[data-open="0"] .qap-dock-title,body.qapf3:is(.qap-app,.qapf3-member-public) .qap-dock[data-open="0"] .qap-dock-new,body.qapf3:is(.qap-app,.qapf3-member-public) .qap-dock[data-open="0"] .qap-dock-chev{display:none!important}
body.qapf3:is(.qap-app,.qapf3-member-public) .qap-dock[data-open="0"] .qap-dock-toggle::before{content:"";display:block;width:22px;height:22px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2'/><path d='M3 7l9 6 9-6'/></svg>") center/contain no-repeat}
body.qapf3:is(.qap-app,.qapf3-member-public) .qap-dock[data-open="0"] .qap-dock-count{display:block!important;position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#B42318;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}
body.qapf3:is(.qap-app,.qapf3-member-public) .qap-dock[data-open="0"] .qap-dock-count[hidden]{display:none!important}
body.qapf3:is(.qap-app,.qapf3-member-public) .qap-dock[data-open="0"] .qap-dock-body{display:none!important}
body.qapf3.qap-app.qap-msg .qap-dock,body.qapf3.qap-app.messages .qap-dock{display:none!important}
/* ---- M12: the documents list on Digital Pack ---- */
body.qapf3 .qapf3-doclist{list-style:none;margin:0 0 20px;padding:0;border:1px solid #E4E7EC;border-radius:8px}
body.qapf3 .qapf3-doclist li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-top:1px solid #E4E7EC}
body.qapf3 .qapf3-doclist li:first-child{border-top:0}
body.qapf3 .qapf3-doc-main{display:flex;flex-direction:column;gap:2px;min-width:0}
body.qapf3 .qapf3-doc-meta{font-size:13px;color:#5B6B85}
@media(max-width:600px){body.qapf3 .qapf3-doclist li{flex-direction:column;align-items:flex-start}}
/* ---- M13: tab rows scroll on a phone; stacked tables hide their header row ---- */
@media(max-width:640px){
body.qapf3.qap-app .qap-apd-tabs{flex-wrap:nowrap!important;overflow-x:auto;gap:12px;padding-bottom:2px;scrollbar-width:none}
body.qapf3.qap-app .qap-apd-tabs::-webkit-scrollbar{display:none}
body.qapf3.qap-app .qap-apd-tabs .qap-apd-tab{white-space:nowrap;flex:0 0 auto}
body.qapf3.qap-app #buddypress .bp-navs.bp-subnavs ul{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;max-width:100%;scrollbar-width:none}
body.qapf3.qap-app #buddypress .bp-navs.bp-subnavs ul::-webkit-scrollbar{display:none}
body.qapf3.qap-app #buddypress .bp-navs.bp-subnavs li{flex:0 0 auto;white-space:nowrap}
body.qapf3.qap-app #buddypress .bp-navs.bp-subnavs li a{padding-left:2px!important;padding-right:2px!important;margin-right:12px!important}
body.qapf3.qap-app .qap-table.qapf2-stack thead{display:none!important}
}
/* ---- M14: both Verification card titles are peers ---- */
body.qapf3.qap-app .qap-verify h2,body.qapf3.qap-app .qap-vhero h2,body.qapf3.qap-app .qap-verify .qap-card>h2{font-size:18px!important;line-height:1.3}
/* ---- M15: the public hero uses the app's button height and corners ---- */
body.qapf3 .pcb-hero-btns a{min-height:44px!important;padding:0 20px!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:8px!important;text-transform:none!important;letter-spacing:normal!important;font-size:15px!important;font-weight:600!important;line-height:1.2!important}
/* ---- L1: phone tab bar labels at the app's minimum size ---- */
body.qapf3.qap-app .qap-tabbar a span,body.qapf3.qap-app .qap-tabbar .qap-tab span{font-size:11px!important}
/* ---- L2: the comment Like reaches the 24 px target ---- */
body.qapf3.qap-app #buddypress .qap-cm-like,body.qapf3.qap-app .qap-cm-like{min-height:24px!important;padding:2px 8px!important;line-height:20px!important}
/* ---- L4: the record toggle is 40 px like the buttons beside it ---- */
body.qapf3.qap-app .qap-details summary{box-sizing:border-box;min-height:40px;height:40px;padding:0 12px}
/* ---- L6: one button and field size ---- */
body.qapf3.qap-app .woocommerce-MyAccount-content button.button,body.qapf3.qap-app .woocommerce-MyAccount-content .woocommerce-Button,body.qapf3.qap-app .woocommerce-MyAccount-content button[name="save_address"]{font-size:14px!important}
body.qapf3.qap-app #buddypress .standard-form .editfield input[type=text],body.qapf3.qap-app #buddypress .standard-form .editfield input[type=url],body.qapf3.qap-app #buddypress .standard-form .editfield input[type=email],body.qapf3.qap-app #buddypress .standard-form .editfield textarea{font-size:14px!important}
/* ---- L10: the empty schedule ---- */
body.qapf3 .qapf3-schedule-empty{max-width:640px;margin:8px auto 24px;padding:24px;text-align:center;background:#fff;border:1px solid #E4E7EC;border-radius:12px;color:#172033}
body.qapf3 .qapf3-schedule-empty p{margin:0 0 14px}
body.qapf3 .qapf3-schedule-empty p:last-child{margin:0}
/* ---- Network: the name is the heading, the headline and the pills sit under it ---- */
body.qapf3.qap-app #buddypress .qap-ml-meta{display:block;margin:2px 0 0}
body.qapf3.qap-app #buddypress .qap-ml-meta .qap-ml-head{display:block;font-size:14px;font-weight:400;color:#5B6B85;margin:0 0 6px}
body.qapf3.qap-app #buddypress .qap-ml-meta .qap-ml-badges{display:flex;flex-wrap:wrap;gap:6px}
body.qapf3.qap-app #buddypress .members-list .item-meta.last-activity{color:#5B6B85}
body.qapf3.qap-app #buddypress .pag-data,body.qapf3.qap-app #buddypress .pag-count{color:#5B6B85!important}
/* ---- H1: the confirm step before a fee reaches the basket ---- */
body.qapf3 .qapf3-confirm{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(23,32,51,.45)}
body.qapf3 .qapf3-confirm[hidden]{display:none}
body.qapf3 .qapf3-confirm-box{width:100%;max-width:440px;background:#fff;border:1px solid #E4E7EC;border-radius:12px;padding:20px;box-shadow:0 12px 32px rgba(16,24,40,.18);font-family:"DM Sans",system-ui,sans-serif;color:#172033}
body.qapf3 .qapf3-confirm-box h2{font:600 18px/1.3 "Sora","DM Sans",sans-serif;margin:0 0 8px;color:#172033}
body.qapf3 .qapf3-confirm-box p{margin:0 0 8px;font-size:14px;line-height:1.5}
body.qapf3 .qapf3-confirm-box .qapf3-confirm-price{font-size:22px;font-weight:700;margin:4px 0 12px}
body.qapf3 .qapf3-confirm-box .qapf3-confirm-note{color:#5B6B85;font-size:13px;margin:0 0 16px}
body.qapf3 .qapf3-confirm-actions{display:flex;gap:8px;flex-wrap:wrap}
body.qapf3 .qapf3-confirm-actions a,body.qapf3 .qapf3-confirm-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:8px;font:600 14px "DM Sans",system-ui,sans-serif;cursor:pointer;text-decoration:none}
body.qapf3 .qapf3-confirm-actions a.qapf3-confirm-go{background:#0A5BB0;color:#fff;border:1px solid #0A5BB0}
body.qapf3 .qapf3-confirm-actions a.qapf3-confirm-go:hover{background:#084A90}
body.qapf3 .qapf3-confirm-actions button{background:#fff;color:#172033;border:1px solid #8A97AB}
body.qapf3 .qapf3-confirm-actions button:hover{background:#F0F2F5}
/* ---- M7: the Recent activity date column fits "15 Sep 2026" on one line ---- */
body.qapf3.qap-app .qap-timeline .qap-tl-date{flex:0 0 80px!important;white-space:nowrap}
/* ---- H3: the Network buttons are buttons, not links ---- */
body.qapf3.qap-app #buddypress button.friendship-button,body.qapf3.qap-app #buddypress .generic-button button,body.qapf3.qap-app #buddypress .friendship-button button,body.qapf3.qap-app #buddypress button.group-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border:1px solid #8A97AB!important;border-radius:8px!important;background:#fff!important;color:#172033!important;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer}
body.qapf3.qap-app #buddypress button.friendship-button:hover,body.qapf3.qap-app #buddypress .generic-button button:hover{background:#F0F2F5!important;color:#172033!important;border-color:#8A97AB!important}
body.qapf3.qap-app #buddypress li.generic-button,body.qapf3.qap-app #buddypress li.friendship-button{border:0!important;background:transparent!important;padding:0!important}
body.qapf3.qap-app #buddypress #members-list > li .action .generic-button button,body.qapf3.qap-app #buddypress #members-list > li .action .generic-button a,body.qapf3.qap-app #buddypress #members-list > li .action button.friendship-button{color:#172033!important;border:1px solid #8A97AB!important;background:#fff!important}
body.qapf3.qap-app #buddypress #members-list > li .action .generic-button button:hover,body.qapf3.qap-app #buddypress #members-list > li .action .generic-button a:hover{background:#F0F2F5!important;color:#172033!important;border-color:#8A97AB!important}
/* ---- One focus ring on a field, not two: the blue border shows the focus and the outer outline goes.
 * Tick boxes, radio buttons, buttons and links keep the outline, because they have no border to change. ---- */
body.qapf3 input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]):not([type=button]):not([type=range]):focus,body.qapf3 select:focus,body.qapf3 textarea:focus,body.qapf3.qap-app input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]):not([type=button]):not([type=range]):focus-visible,body.qapf3.qap-app select:focus-visible,body.qapf3.qap-app textarea:focus-visible,body.qapf3.qap-app .qap-form input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,body.qapf3.qap-app .qap-form select:focus,body.qapf3.qap-app .qap-form textarea:focus,body.qapf3.qap-app .woocommerce form .form-row .input-text:focus,body.qapf3.woocommerce-account:not(.logged-in) .woocommerce form .form-row .input-text:focus,body.qapf3 .qapx-multi>summary:focus,body.qapf3 .qapx-multi>summary:focus-visible{outline:none!important;border-color:#0A5BB0!important;box-shadow:inset 0 0 0 1px #0A5BB0!important}
