/* Shared CEU presentation, scoped to the public catalogue and its Admin desk. */
@font-face{font-family:NXCEUInter;src:url('/fonts/InterVariable.woff2');font-weight:100 900;font-display:swap}
#nx-ceu-desk,#mtg-body:has(>.ceu-hero){--ceu-nav:#103454;--ceu-ink:#183650;--ceu-muted:#5d6e7d;--ceu-line:#cbd6e0;--ceu-tint:#eaf2f8;--ceu-orange:#ff7c23;font-family:NXCEUInter,Inter,system-ui,sans-serif;color:var(--ceu-ink);max-width:1520px;margin:0 auto}
#nx-ceu-desk{padding:28px 24px 40px;box-sizing:border-box}
#nx-ceu-desk *{box-sizing:border-box}
#app.sx[data-route=ceu] #band{display:none!important}
#app.sx[data-route=ceu]{grid-template-rows:auto 0 minmax(0,1fr)}
#nx-ceu-desk .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#nx-ceu-desk .ceu-desk-hero,#mtg-body>.ceu-hero{background:#103454;border:0;border-bottom:3px solid #ff7c23;border-radius:13px;padding:28px 30px;margin:0 0 18px;color:#fff;box-shadow:none}
#nx-ceu-desk .ceu-desk-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}
#nx-ceu-desk h1,#mtg-body>.ceu-hero h1{font:750 29px/1.2 NXCEUInter,Inter,system-ui,sans-serif;letter-spacing:-.7px;color:#fff;margin:8px 0}
#nx-ceu-desk .ceu-desk-hero p,#mtg-body>.ceu-hero p{color:#c6d8e6;font-size:14px;line-height:1.6;max-width:720px;margin:0}
#nx-ceu-desk .ceu-eyebrow,#mtg-body .ceu-hero-eb{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:inherit}
#nx-ceu-desk .ceu-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#nx-ceu-desk .btn{min-height:40px;border:1px solid var(--ceu-line);border-radius:9px;background:white;color:#173f6a;font:600 12px/1.4 NXCEUInter,system-ui,sans-serif;padding:10px 14px;white-space:normal;cursor:pointer;text-decoration:none}
#nx-ceu-desk .btn.pri{background:#173f6a;border-color:#173f6a;color:#fff}
#nx-ceu-desk .btn:hover{background:#eaf2f8;color:#173f6a}
#nx-ceu-desk .ceu-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:white;border:1px solid var(--ceu-line);border-radius:13px;overflow:hidden;margin:18px 0 24px}
#nx-ceu-desk .ceu-stats>div{padding:20px;border-right:1px solid var(--ceu-line)}#nx-ceu-desk .ceu-stats>div:last-child{border:0}
#nx-ceu-desk .ceu-stats span{font-size:12px}#nx-ceu-desk .ceu-stats strong{display:block;font-size:26px;margin:8px 0}#nx-ceu-desk .ceu-stats small{display:block;font-size:11px;color:var(--ceu-muted)}
#nx-ceu-desk .ceu-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px}
#nx-ceu-desk .ceu-layout>main{min-width:0;padding:0;margin:0}#nx-ceu-desk .ceu-layout>aside{display:grid;gap:16px;align-content:start}
#nx-ceu-desk h2{font:700 19px/1.3 NXCEUInter,system-ui,sans-serif;margin:24px 0 16px}#nx-ceu-desk h3{font:700 19px/1.35 NXCEUInter,system-ui,sans-serif;margin:0 0 10px}
#nx-ceu-desk p{color:var(--ceu-muted);font-size:13px;line-height:1.65;margin:10px 0}
#nx-ceu-desk .ceu-tabs{display:flex;gap:6px;overflow:auto;border-bottom:1px solid var(--ceu-line);margin-bottom:18px}
#nx-ceu-desk .ceu-tabs button{background:none;border:0;border-bottom:3px solid transparent;border-radius:0;padding:13px 10px;min-height:50px;white-space:nowrap;color:#173f6a;font:600 12px NXCEUInter,system-ui,sans-serif;cursor:pointer}
#nx-ceu-desk .ceu-tabs [aria-current=page]{border-bottom-color:#ff7c23}
#nx-ceu-desk .ceu-search{display:flex;gap:8px;padding:13px;border:1px solid var(--ceu-line);border-radius:12px;background:white}
#nx-ceu-desk .ceu-search input{min-width:0;flex:1;padding:11px;border:1px solid var(--ceu-line);border-radius:9px;background:#edf2f6;font:13px NXCEUInter,system-ui,sans-serif;color:#183650}
#nx-ceu-desk .ceu-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#nx-ceu-desk .ceu-course{display:flex;flex-direction:column;border:1px solid var(--ceu-line);border-radius:13px;background:white;overflow:hidden;min-width:0}
#nx-ceu-desk .ceu-course-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:20px 22px 0;font-size:10px}
#nx-ceu-desk .ceu-course-body{padding:14px 22px 22px;flex:1}#nx-ceu-desk .ceu-provider{font-size:12px;display:block}
#nx-ceu-desk .ceu-course .t1{font:700 19px/1.4 NXCEUInter,system-ui,sans-serif;margin-bottom:10px}
#nx-ceu-desk .ceu-course .t2{font-size:12px;color:var(--ceu-muted);line-height:1.6;white-space:normal}
#nx-ceu-desk .ceu-course footer{border-top:1px solid var(--ceu-line);padding:15px 22px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--ceu-muted)}
#nx-ceu-desk .ceu-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}#nx-ceu-desk .ceu-tags span{font-size:10px;border:1px solid var(--ceu-line);border-radius:5px;padding:3px 7px;background:#f4f6f8}
#nx-ceu-desk .ceu-pill{display:inline-block;background:#eaf2f8;color:#173f6a;border-radius:6px;font-size:10px;padding:4px 8px}
#nx-ceu-desk .ceu-date{padding:14px;background:#edf2f6;border-radius:8px;margin-top:18px;display:grid;gap:5px;font-size:12px}
#nx-ceu-desk .ceu-side-card{border:1px solid var(--ceu-line);border-radius:13px;background:white;padding:20px}#nx-ceu-desk .ceu-side-card h2{font-size:16px;margin:0 0 12px}#nx-ceu-desk .ceu-side-card .btn{display:block;width:100%;margin-top:12px;text-align:center}
#nx-ceu-desk .ceu-credit{border-left:3px solid #ff7c23}#nx-ceu-desk .ceu-request-summary{border-top:1px solid var(--ceu-line);padding:15px 0;margin-top:15px;font-size:12px}#nx-ceu-desk .ceu-request-summary>span{display:block;margin-top:7px;width:fit-content}
#nx-ceu-desk .ceu-bookings{display:grid;gap:14px}#nx-ceu-desk .ceu-booking{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:20px;border:1px solid var(--ceu-line);border-radius:13px;background:#fff}
#nx-ceu-desk .ceu-booking footer{grid-column:1/-1;border-top:1px solid var(--ceu-line);padding-top:14px;display:flex;gap:8px;flex-wrap:wrap}#nx-ceu-desk .ceu-booking .t1{font-size:16px;font-weight:700}#nx-ceu-desk .ceu-booking .t2{font-size:12px;line-height:1.7;margin-top:8px;color:var(--ceu-muted)}
#nx-ceu-desk .ceu-empty,#nx-ceu-desk .ceu-notice{background:white;border:1px solid var(--ceu-line);border-radius:13px;padding:26px;margin:16px 0}#nx-ceu-desk .ceu-notice{border-left:3px solid #ff7c23}
#nx-ceu-desk :focus-visible,#mtg-body:has(>.ceu-hero) :focus-visible{outline:3px solid #ff7c23;outline-offset:3px}
/* Public catalogue: keep existing registration, request and credit controls. */
#mtg-body:has(>.ceu-hero){padding:24px}
#mtg-body>.ceu-hero{text-align:left}#mtg-body>.ceu-hero :is(h1,p,.ceu-hero-eb){margin-left:0;margin-right:0}#mtg-body>.ceu-hero .ceu-hero-eb:before{display:none}
#mtg-body:has(>.ceu-hero) .ceo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#mtg-body:has(>.ceu-hero) .mx-gh .n{font:700 19px NXCEUInter,system-ui,sans-serif}
#mtg-body .ceu-public-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:white;border:1px solid #cbd6e0;border-radius:13px;margin:18px 0 24px;overflow:hidden}
#mtg-body .ceu-public-stats>div{padding:20px;border-right:1px solid #cbd6e0}#mtg-body .ceu-public-stats>div:last-child{border:0}
#mtg-body .ceu-public-stats span{font-size:12px}#mtg-body .ceu-public-stats strong{display:block;font-size:26px;margin:8px 0}#mtg-body .ceu-public-stats small{font-size:11px;color:#5d6e7d}
#mtg-body .ceu-catalogue-search{width:100%;max-width:none;border:1px solid #cbd6e0;border-radius:12px;padding:12px;margin:0 0 24px;background:white}
#mtg-body .ceu-catalogue-search input{font:13px NXCEUInter,system-ui,sans-serif;min-height:40px;color:#183650}
#mtg-body>.ceu-hero .ceu-hero-n{display:none}
#mtg-body .ceu-refresh-row{display:flex;justify-content:flex-end;margin:-10px 0 18px}
@media(max-width:760px){#mtg-body .ceu-public-stats{grid-template-columns:1fr 1fr}#mtg-body .ceu-public-stats>div{padding:14px;border-bottom:1px solid #cbd6e0}#mtg-body .ceu-catalogue-search input{font-size:16px}}
#mtg-body:has(>.ceu-hero) .ceo-card,#mtg-body:has(>.ceu-hero) .mx-card{border:1px solid var(--ceu-line);border-radius:13px;background:white;box-shadow:none}
#mtg-body:has(>.ceu-hero) .ceo-card{padding:22px;min-height:300px}#mtg-body:has(>.ceu-hero) .ceo-t{font:700 19px/1.35 NXCEUInter,system-ui,sans-serif;color:#183650}
#mtg-body:has(>.ceu-hero) .ceo-blurb,#mtg-body:has(>.ceu-hero) .mx-card p{font-size:13px;line-height:1.65;color:#5d6e7d}#mtg-body:has(>.ceu-hero) .mx-card h3{font:700 16px/1.4 NXCEUInter,system-ui,sans-serif}
#mtg-body:has(>.ceu-hero) .ceo-foot{border-top:1px solid var(--ceu-line);padding-top:15px}#mtg-body:has(>.ceu-hero) :is(.ceo-btn,.btn){border-radius:9px;min-height:40px;font-family:NXCEUInter,system-ui,sans-serif;color:#173f6a;border-color:#bdcddd}
#mtg-body:has(>.ceu-hero) :is(.ceo-f.on,.btn.o){background:#173f6a;color:white;border-color:#173f6a}#mtg-body:has(>.ceu-hero) .ceo-filters{justify-content:flex-start;gap:8px;margin:22px 0}
#mtg-body:has(>.ceu-hero) .ceo-host{color:#173f6a}#mtg-body:has(>.ceu-hero) .ceo-tag{background:#f4f6f8;border-color:#cbd6e0;color:#5d6e7d;border-radius:5px}
#mtg-body .ceu-request-status{font-weight:600;color:#173f6a;display:block;margin:7px 0}#mtg-body .cd-ask{border-top:1px solid #cbd6e0;padding:15px 0;margin-top:12px}
@media(max-width:1100px){#nx-ceu-desk .ceu-layout{grid-template-columns:1fr}#nx-ceu-desk .ceu-layout>aside{grid-template-columns:repeat(2,minmax(0,1fr))}#nx-ceu-desk .ceu-credit{grid-column:1/-1}#nx-ceu-desk .ceu-desk-hero{align-items:flex-start}.ceu-actions{max-width:260px}}
@media(max-width:760px){#nx-ceu-desk,#mtg-body:has(>.ceu-hero){padding:20px 12px}#nx-ceu-desk .ceu-desk-hero{display:block;padding:22px}#nx-ceu-desk .ceu-actions{margin-top:18px;justify-content:flex-start;max-width:none}#nx-ceu-desk .ceu-course-grid,#nx-ceu-desk .ceu-layout>aside{grid-template-columns:1fr}#nx-ceu-desk .ceu-stats{grid-template-columns:1fr 1fr}#nx-ceu-desk .ceu-stats>div{padding:14px;border-bottom:1px solid var(--ceu-line)}#nx-ceu-desk h1{font-size:25px}#nx-ceu-desk .ceu-booking{grid-template-columns:1fr}#nx-ceu-desk .ceu-search input{font-size:16px}#mtg-body:has(>.ceu-hero) .ceo-grid{grid-template-columns:1fr}}
