/* PRO B Centre Community Hub — theme.css v2.4.0 */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--pc-font-ui,'Outfit',sans-serif);background:var(--bg);color:var(--t);min-height:100vh;transition:background .4s,color .4s}
body.pc-page-dashboard,body.pc-site{background:#060c18;background-image:radial-gradient(ellipse at 15% 20%,rgba(56,189,248,.30) 0%,transparent 55%),radial-gradient(ellipse at 85% 70%,rgba(139,92,246,.24) 0%,transparent 55%),linear-gradient(160deg,#060c18 0%,#0b1628 100%);background-attachment:fixed}
[data-theme="light"] body.pc-page-dashboard,[data-theme="light"] body.pc-site{background:#dde8f5;background-image:radial-gradient(ellipse at 15% 20%,rgba(14,165,233,.22) 0%,transparent 55%),radial-gradient(ellipse at 85% 70%,rgba(139,92,246,.15) 0%,transparent 55%),linear-gradient(160deg,#dde8f5 0%,#c8d9ef 100%);background-attachment:fixed}
a{text-decoration:none;color:inherit}
::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(56,189,248,.25);border-radius:99px}

/* CSS VARIABLES */
[data-theme="dark"]{
--bg:#060c18;--t:#f0f6ff;--muted:rgba(200,220,255,.55);--dim:rgba(200,220,255,.28);
--accent:#38bdf8;--ar:56,189,248;--a2:#a78bfa;--a2r:167,139,250;--a3:#34d399;--a3r:52,211,153;
--amber:#fbbf24;--red:#f87171;
--gl:linear-gradient(135deg,rgba(14,30,60,.85) 0%,rgba(10,22,50,.80) 100%);
--glb:rgba(56,189,248,.22);--glt:rgba(100,180,255,.35);
--sh:0 4px 24px rgba(0,0,0,.6),0 16px 48px rgba(0,0,0,.35),0 0 0 1px rgba(56,189,248,.12),0 1px 0 rgba(100,180,255,.18) inset;
--sb:rgba(8,15,35,.92);--hdr:rgba(8,15,35,.88);
--row:rgba(14,30,60,.5);--rowb:rgba(56,189,248,.12);--rowt:rgba(100,180,255,.2);
}
[data-theme="light"]{
--bg:#dde8f5;--t:#0f2040;--muted:rgba(15,32,64,.6);--dim:rgba(15,32,64,.35);
--accent:#0ea5e9;--ar:14,165,233;--a2:#7c3aed;--a2r:124,58,237;--a3:#059669;--a3r:5,150,105;
--amber:#d97706;--red:#dc2626;
--gl:linear-gradient(135deg,rgba(255,255,255,.75),rgba(255,255,255,.45));
--glb:rgba(255,255,255,.5);--glt:rgba(255,255,255,.95);
--sh:0 8px 32px rgba(100,140,200,.18),0 1px 0 rgba(255,255,255,.9) inset;
--sb:rgba(255,255,255,.6);--hdr:rgba(220,232,245,.85);
--row:rgba(255,255,255,.45);--rowb:rgba(255,255,255,.5);--rowt:rgba(255,255,255,.75);
}

/* BACKGROUND MESH — handled directly on body */
body.pc-site,body.pc-page-dashboard{position:relative;z-index:1}

/* SHELL */
.pc-shell{display:grid;grid-template-columns:220px 1fr;grid-template-rows:56px 1fr;grid-template-areas:"sb hdr""sb main";height:100vh;position:relative;z-index:1}

/* GLASS CARD */
.pc-glass{position:relative;background:var(--gl);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-radius:20px;border:1px solid var(--glb);border-top-color:var(--glt);box-shadow:var(--sh),0 1px 0 rgba(100,180,255,.22) inset;overflow:visible;--mx:50%;--my:50%;transition:transform .35s cubic-bezier(.23,1,.32,1),box-shadow .35s,border-color .35s}
/* pc-glass::before now used for mouse-tracking spotlight — injected by JS */
.pc-glass::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 30% 0%,rgba(255,255,255,.10),transparent 55%);pointer-events:none;overflow:hidden}
.pc-glass:hover{border-color:rgba(var(--ar),.35)!important;box-shadow:0 4px 24px rgba(0,0,0,.55),0 16px 48px rgba(0,0,0,.3),0 0 0 1px rgba(var(--ar),.35),0 0 25px rgba(var(--ar),.25),0 1px 0 rgba(255,255,255,.18) inset}
.pc-glow{border-color:rgba(var(--ar),.55)!important;box-shadow:0 4px 24px rgba(0,0,0,.55),0 16px 48px rgba(0,0,0,.3),0 0 0 1px rgba(var(--ar),.55),0 0 30px rgba(var(--ar),.50),0 0 70px rgba(var(--ar),.22),0 0 120px rgba(var(--ar),.08),0 1px 0 rgba(255,255,255,.18) inset}
/* Content clipping — applied via inner pseudo-element, not overflow:hidden
   so external box-shadow glow can still escape the card boundary */
.pc-glow-wrap{overflow:visible!important}

/* SIDEBAR */
.pc-sidebar{grid-area:sb;background:var(--sb);backdrop-filter:blur(30px) saturate(160%);-webkit-backdrop-filter:blur(30px) saturate(160%);border-right:1px solid rgba(56,189,248,.15);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;overflow-y:auto;z-index:100}
.pc-sb-top{flex:1}
.pc-sb-logo{padding:10px 16px;height:56px;display:flex;align-items:center;border-bottom:1px solid var(--glb)}
.pc-logo{height:34px;width:auto;object-fit:contain;transition:filter .4s}
[data-theme="dark"]  .pc-logo{filter:none}
[data-theme="light"] .pc-logo{filter:brightness(.78) saturate(1.3) contrast(1.1)}
.pc-logo-txt{font-size:13px;font-weight:800;letter-spacing:-.02em}
.pc-nav{padding-top:6px}
.pc-nav-sec{font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding:14px 18px 5px}
.pc-nav-a{display:flex;align-items:center;gap:10px;padding:9px 18px;font-size:13px;font-weight:500;color:var(--muted);border-right:2px solid transparent;transition:all .2s;cursor:pointer}
.pc-nav-a:hover{color:var(--t);background:rgba(255,255,255,.04)}
.pc-nav-a.active{color:var(--accent);background:rgba(var(--ar),.08);border-right-color:var(--accent);font-weight:600}
.pc-nav-a.soon{opacity:.4;cursor:default;pointer-events:none}
.ni{width:20px;text-align:center;font-size:15px;flex-shrink:0}.nl{flex:1}.ns{font-size:9px;font-weight:700;padding:2px 7px;border-radius:99px;background:rgba(251,191,36,.13);color:var(--amber)}

/* NAV DROPDOWN GROUP */
.pc-nav-group{position:relative}
.pc-nav-group-hd{display:flex;align-items:center;gap:10px;padding:9px 18px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .2s;user-select:none;border-right:2px solid transparent}
.pc-nav-group-hd:hover{color:var(--t);background:rgba(255,255,255,.04)}
.pc-nav-group-hd.active{color:var(--accent);font-weight:600}
.pc-nav-group-arrow{margin-left:auto;font-size:10px;transition:transform .25s cubic-bezier(.23,1,.32,1);color:var(--dim);flex-shrink:0}
.pc-nav-group.open .pc-nav-group-arrow{transform:rotate(180deg)}
.pc-nav-group.open .pc-nav-group-hd{color:var(--t);background:rgba(255,255,255,.03)}
.pc-nav-sub{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.23,1,.32,1)}
.pc-nav-group.open .pc-nav-sub{max-height:220px}
.pc-nav-sub-a{display:flex;align-items:center;gap:10px;padding:7px 18px 7px 46px;font-size:12.5px;font-weight:500;color:var(--muted);border-right:2px solid transparent;transition:all .2s;text-decoration:none}
.pc-nav-sub-a:hover{color:var(--t);background:rgba(255,255,255,.04)}
.pc-nav-sub-a.active{color:var(--accent);border-right-color:var(--accent);font-weight:600;background:rgba(var(--ar),.08)}
.pc-nav-sub-a.soon{opacity:.4;cursor:default;pointer-events:none}
.pc-nav-sub-dot{width:5px;height:5px;border-radius:50%;background:var(--dim);flex-shrink:0;transition:background .2s}
.pc-nav-sub-a:hover .pc-nav-sub-dot{background:var(--muted)}
.pc-nav-sub-a.active .pc-nav-sub-dot{background:var(--accent)}
.pc-sb-foot{padding:12px 16px;border-top:1px solid var(--glb)}
.pc-sb-user{display:flex;align-items:center;gap:9px;padding:8px 0;margin-bottom:8px}
.pc-sb-user strong{display:block;font-size:12px;font-weight:700;color:var(--t)}
.pc-sb-user span{display:block;font-size:11px;color:var(--muted)}
.pc-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--a2));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}
.pc-avatar.sm{width:26px;height:26px;font-size:10px}
.pc-logout{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--muted);transition:color .2s}
.pc-logout:hover{color:var(--red)}

/* HEADER */
.pc-hdr{grid-area:hdr;background:var(--hdr);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border-bottom:1px solid var(--glb);display:flex;align-items:center;gap:10px;padding:0 20px;position:sticky;top:0;z-index:90}
.pc-burger{display:none;background:none;border:none;color:var(--t);font-size:20px;cursor:pointer;padding:4px 8px}
.pc-srch{flex:1;max-width:360px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.07);border:1px solid var(--glb);border-top-color:rgba(255,255,255,.16);border-radius:99px;padding:7px 16px;transition:all .3s}
[data-theme="light"] .pc-srch{background:rgba(255,255,255,.55)}
.pc-srch:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--ar),.12)}
.pc-srch input{border:none;background:transparent;outline:none;color:var(--t);font-family:var(--pc-font-ui,'Outfit',sans-serif);font-size:13px;width:100%}
.pc-srch input::placeholder{color:var(--dim)}
.pc-hdr-r{display:flex;align-items:center;gap:8px;margin-left:auto}
.pc-bell{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:99px;background:rgba(255,255,255,.07);border:1px solid var(--glb);border-top-color:rgba(255,255,255,.14);cursor:pointer;font-size:15px;color:var(--muted);transition:all .25s;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.07) inset}
[data-theme="light"] .pc-bell{background:rgba(255,255,255,.55)}
.pc-bell:hover{color:var(--t)}
.pc-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;background:var(--red);border-radius:50%;border:1.5px solid var(--bg);display:none}
.pc-dot.on{display:block}
.pc-theme-btn{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.07);border:1px solid var(--glb);border-top-color:rgba(255,255,255,.16);border-radius:99px;padding:6px 12px;cursor:pointer;font-size:12px;font-weight:600;color:var(--muted);font-family:var(--pc-font-ui,'Outfit',sans-serif);transition:all .25s;box-shadow:0 2px 8px rgba(0,0,0,.18),0 1px 0 rgba(255,255,255,.07) inset}
[data-theme="light"] .pc-theme-btn{background:rgba(255,255,255,.55)}
.pc-theme-btn:hover{color:var(--t)}
.pc-upill{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.07);border:1px solid var(--glb);border-top-color:rgba(255,255,255,.16);border-radius:99px;padding:4px 12px 4px 5px;cursor:pointer;transition:all .25s;box-shadow:0 2px 8px rgba(0,0,0,.18),0 1px 0 rgba(255,255,255,.07) inset}
[data-theme="light"] .pc-upill{background:rgba(255,255,255,.55)}
.pc-upill:hover{border-color:rgba(var(--ar),.35)}
.pc-upill>span{font-size:12px;font-weight:600;color:var(--t)}
.pc-caret{color:var(--dim);font-size:11px}

/* MAIN */
.pc-main{grid-area:main;overflow-y:auto;padding:22px 22px 48px;display:flex;flex-direction:column;gap:20px;position:relative;z-index:1}

/* LOADING */
.pc-load{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;height:60vh;color:var(--muted);font-size:14px}
.pc-spin{width:36px;height:36px;border:3px solid var(--glb);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* CARD HEADER */
.pc-card{padding:18px}
.pc-ch{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.pc-chi{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:15px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);border-top-color:rgba(255,255,255,.25);flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.07) inset}
[data-theme="light"] .pc-chi{background:rgba(255,255,255,.6)}
.pc-cht{font-size:13px;font-weight:700;color:var(--t)}
.pc-chl{margin-left:auto;font-size:11.5px;font-weight:600;color:var(--accent);cursor:pointer;background:none;border:none;font-family:var(--pc-font-ui,'Outfit',sans-serif);transition:opacity .2s}
.pc-chl:hover{opacity:.75}

/* EMPTY STATE */
.pc-empty{display:flex;flex-direction:column;align-items:center;padding:30px 20px;text-align:center;gap:8px}
.pc-ei{font-size:36px;opacity:.65}
.pc-em{font-size:13.5px;font-weight:600;color:var(--t)}
.pc-es{font-size:12px;color:var(--muted);line-height:1.6;max-width:260px}
.pc-elink{font-size:12.5px;font-weight:600;color:var(--accent);margin-top:4px}
.pc-elink:hover{opacity:.75}

/* WELCOME */
.pc-welcome{padding:22px 26px;background:linear-gradient(120deg,rgba(var(--ar),.10),rgba(var(--a2r),.07)),var(--gl);box-shadow:var(--sh),0 0 60px rgba(var(--ar),.20)}
.pc-orb-wrap{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:0}
.pc-orb{position:absolute;border-radius:50%;filter:blur(50px);pointer-events:none;opacity:.35}
.o1{width:180px;height:180px;background:var(--accent);right:-40px;top:-70px}
.o2{width:130px;height:130px;background:var(--a2);right:80px;bottom:-50px}
.pc-badge{position:relative;z-index:1;display:inline-flex;align-items:center;gap:5px;background:rgba(var(--ar),.12);border:1px solid rgba(var(--ar),.25);border-radius:99px;padding:3px 11px;font-size:11px;font-weight:600;color:var(--accent);margin-bottom:10px;position:relative;z-index:1}
.pc-wname{position:relative;z-index:1;font-size:27px;font-weight:800;letter-spacing:-.035em;position:relative;z-index:1}
.pc-wmeta{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;position:relative;z-index:2}
.pc-wchip{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px}
.pc-wchip::before{content:'•';color:var(--accent);font-size:7px}
.pc-wmsg{position:relative;z-index:2;margin-top:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;background:rgba(255,255,255,.07);border:1px solid rgba(var(--ar),.16);border-radius:12px;padding:10px 16px;font-size:12.5px;color:var(--muted);backdrop-filter:blur(12px);max-width:720px}
[data-theme="light"] .pc-wmsg{background:rgba(255,255,255,.5)}
.pc-wmsg strong{color:var(--accent)}
.pc-wsum-ico{font-size:15px;flex-shrink:0;align-self:center;line-height:1}
.pc-wsum-block{display:flex;flex-direction:column;gap:2px;min-width:0}
.pc-wsum-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.65;line-height:1;white-space:nowrap}
.pc-wsum-val{font-weight:700;color:var(--accent);font-size:13px;white-space:nowrap;line-height:1.2}
.pc-wsum-sep{width:1px;height:28px;background:rgba(var(--ar),.25);flex-shrink:0;align-self:center}
.pc-wsum-evt-block{flex:1 1 auto;min-width:0;max-width:400px;gap:3px}
.pc-wsum-evt-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.pc-wsum-evt-title{font-weight:700;font-size:12.5px;line-height:1.25;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-wsum-evt-date{font-size:11px;opacity:.75;white-space:nowrap;flex-shrink:0;line-height:1}
@media(max-width:860px){.pc-wsum-sep{display:none}.pc-wmsg{gap:6px 10px}.pc-wsum-evt-block{min-width:100%;max-width:100%}}

/* CPD RING */
.pc-cpd-body{display:flex;align-items:center;gap:20px}
.pc-ring-scene{perspective:300px;flex-shrink:0;width:120px;height:120px}
.pc-ring3d{width:120px;height:120px;position:relative;transform:rotateX(12deg) rotateY(-8deg);filter:drop-shadow(0 8px 18px rgba(var(--ar),.35))}
.pc-ring3d svg{transform:rotate(-90deg)}
.pc-rt{fill:none;stroke:rgba(255,255,255,.08);stroke-width:11}
.pc-rf{fill:none;stroke:url(#rg);stroke-width:11;stroke-linecap:round;stroke-dasharray:314;stroke-dashoffset:314;transition:stroke-dashoffset 1.6s cubic-bezier(.23,1,.32,1)}
.pc-rm{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.pc-rpct{font-size:22px;font-weight:800;color:var(--accent);letter-spacing:-.04em;line-height:1}
.pc-rsub{font-size:10px;color:var(--dim);margin-top:2px}
.pc-cpd-info h3{font-size:14px;font-weight:800;letter-spacing:-.02em;margin-bottom:10px}
.pc-stats{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.pc-stat{display:flex;flex-direction:column;gap:2px}
.pc-sl{font-size:10px;color:var(--dim);font-weight:600;text-transform:uppercase;letter-spacing:.07em}
.pc-sv{font-size:22px;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--t)}
.blue{color:var(--accent)!important}.green{color:var(--a3)!important}.amber{color:var(--amber)!important}.purple{color:var(--a2)!important}
.pc-cpd-ring-row{display:flex;align-items:center;gap:24px}

/* STATUS PILL */
.pc-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:99px;font-size:11px;font-weight:700}
.pc-pill.behind{background:rgba(251,191,36,.13);color:var(--amber);border:1px solid rgba(251,191,36,.22)}
.pc-pill.in_progress{background:rgba(var(--ar),.12);color:var(--accent);border:1px solid rgba(var(--ar),.2)}
.pc-pill.nearly{background:rgba(var(--ar),.12);color:var(--accent);border:1px solid rgba(var(--ar),.2)}
.pc-pill.achieved{background:rgba(var(--a3r),.12);color:var(--a3);border:1px solid rgba(var(--a3r),.2)}

/* BUTTONS */
.pc-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:99px;font-family:var(--pc-font-ui,'Outfit',sans-serif);font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .3s cubic-bezier(.23,1,.32,1);white-space:nowrap;text-decoration:none}
.pc-btn-p{background:linear-gradient(135deg,var(--accent),rgba(var(--ar),.65));color:#fff;box-shadow:0 4px 14px rgba(var(--ar),.38),0 1px 0 rgba(255,255,255,.22) inset}
.pc-btn-p:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(var(--ar),.48),0 1px 0 rgba(255,255,255,.22) inset;color:#fff}
.pc-btn-g{background:rgba(255,255,255,.08);color:var(--muted);border:1px solid rgba(255,255,255,.13);border-top-color:rgba(255,255,255,.2);box-shadow:0 2px 8px rgba(0,0,0,.16),0 1px 0 rgba(255,255,255,.07) inset}
[data-theme="light"] .pc-btn-g{background:rgba(255,255,255,.55)}
.pc-btn-g:hover{color:var(--t);border-color:rgba(var(--ar),.28)}
.pc-btnrow{display:flex;gap:8px;flex-wrap:wrap}

/* LEARNING ROWS */
.pc-lrows{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}
.pc-lr{display:flex;justify-content:space-between;align-items:center;padding:9px 13px;background:var(--row);border:1px solid var(--rowb);border-top-color:var(--rowt);border-radius:11px;transition:transform .2s;box-shadow:0 2px 8px rgba(0,0,0,.12),0 1px 0 rgba(255,255,255,.04) inset}
.pc-lr:hover{transform:translateX(3px)}
.pc-lr>span:first-child{font-size:12.5px;color:var(--muted)}
.pc-lv{font-size:20px;font-weight:800;letter-spacing:-.04em;line-height:1}

/* EVENTS */
.pc-nxt{background:linear-gradient(120deg,rgba(var(--ar),.10),rgba(var(--a2r),.07));border:1px solid rgba(var(--ar),.18);border-top-color:rgba(var(--ar),.28);border-radius:12px;padding:11px 13px;margin-bottom:9px;box-shadow:0 4px 14px rgba(var(--ar),.08),0 1px 0 rgba(255,255,255,.06) inset}
.pc-nxt-tag{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:3px}
.pc-nxt-title{font-size:14px;font-weight:700;color:var(--t);margin-bottom:2px}
.pc-nxt-date{font-size:12px;color:var(--muted)}
.pc-elist{display:flex;flex-direction:column;gap:5px}
.pc-erow{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);padding:7px 10px;border-radius:9px;background:var(--row);border:1px solid var(--rowb);transition:all .2s}
.pc-erow:hover{color:var(--t);background:rgba(255,255,255,.08)}

/* QUICK ACTIONS */
.pc-qa-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.pc-qac{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:15px 8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-top-color:rgba(255,255,255,.17);border-radius:14px;cursor:pointer;transition:all .3s cubic-bezier(.23,1,.32,1);text-align:center;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.16),0 1px 0 rgba(255,255,255,.06) inset}
[data-theme="light"] .pc-qac{background:rgba(255,255,255,.5)}
.pc-qac:hover{transform:translateY(-4px) scale(1.02);background:rgba(var(--ar),.10)!important;border-color:rgba(var(--ar),.55)!important;box-shadow:0 12px 30px rgba(0,0,0,.28),0 0 0 1px rgba(var(--ar),.45),0 0 25px rgba(var(--ar),.30),0 1px 0 rgba(255,255,255,.14) inset}
.pc-qac.soon{opacity:.42;cursor:default;pointer-events:none}
.pc-qai{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);border-top-color:rgba(255,255,255,.24);box-shadow:0 4px 12px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.1) inset}
.pc-qal{font-size:11px;font-weight:600;color:var(--muted);line-height:1.3}
.pc-qac:hover .pc-qal{color:var(--t)}
.pc-soon-badge{font-size:9px;font-weight:700;padding:1px 6px;border-radius:99px;background:rgba(251,191,36,.13);color:var(--amber)}

/* ACHIEVEMENTS */
.pc-ach-list{list-style:none;display:flex;flex-direction:column;gap:7px;margin-bottom:12px}
.pc-ach-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--row);border:1px solid var(--rowb);border-top-color:var(--rowt);border-radius:11px;transition:transform .2s;box-shadow:0 2px 8px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.04) inset}
.pc-ach-row:hover{transform:translateX(3px)}
.pc-ach-ico{font-size:22px;flex-shrink:0}
.pc-ach-txt strong{display:block;font-size:12.5px;font-weight:700;color:var(--t)}
.pc-ach-txt span{font-size:11px;color:var(--dim)}

/* ANNOUNCEMENTS — moved to assets/css/announcements.css in v2.4.0.
   The dashboard widget, the Announcements page and the shared modal are now
   styled from one file, loaded on both surfaces by pc_should_load_announcements_ui().
   The old .pc-ann-item / .pc-ann-tag / .pc-ann-title / .pc-ann-date rules that
   lived here belonged to the removed ticker markup and are no longer emitted. */
.pc-ubadge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--accent);border-radius:99px;font-size:10px;font-weight:700;color:#fff;margin-left:5px}

/* TASKS */
.pc-task-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.pc-task-row{display:flex;align-items:center;gap:9px;padding:9px 12px;background:var(--row);border:1px solid var(--rowb);border-top-color:var(--rowt);border-radius:11px;transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.04) inset}
.pc-task-row:hover{transform:translateX(2px)}
.pc-tchk{width:18px;height:18px;border-radius:5px;flex-shrink:0;border:1.5px solid rgba(var(--ar),.45);display:flex;align-items:center;justify-content:center;font-size:10px;color:transparent;transition:all .2s;cursor:pointer}
.pc-task-row.done .pc-tchk{background:rgba(var(--a3r),.2);color:var(--a3);border-color:var(--a3)}
.pc-tlbl{flex:1;font-size:12.5px;font-weight:600;color:var(--muted)}
.pc-task-row.done .pc-tlbl{text-decoration:line-through;opacity:.5}
.pc-tdel{font-size:14px;color:var(--dim);opacity:0;cursor:pointer;transition:opacity .2s;background:none;border:none;padding:2px 5px}
.pc-task-row:hover .pc-tdel{opacity:1}
.pc-tdel:hover{color:var(--red)}
.pc-tbadge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:99px;flex-shrink:0}
.high{background:rgba(248,113,113,.13);color:var(--red)}.med{background:rgba(251,191,36,.12);color:var(--amber)}.low{background:rgba(var(--a3r),.12);color:var(--a3)}
.pc-tform{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.pc-tinput{width:100%;background:var(--row);border:1px solid var(--rowb);border-radius:10px;padding:10px 14px;font-family:var(--pc-font-ui,'Outfit',sans-serif);font-size:13px;color:var(--t);outline:none}
.pc-tinput:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--ar),.15)}
.pc-tinput::placeholder{color:var(--dim)}
.pc-tform-row{display:flex;gap:8px;align-items:center}
.pc-tsel{flex:1;background:var(--row);border:1px solid var(--rowb);border-radius:10px;padding:8px 12px;font-family:var(--pc-font-ui,'Outfit',sans-serif);font-size:12px;color:var(--t);outline:none}

/* TABLE */
.pc-table{width:100%;border-collapse:collapse}
.pc-table th{text-align:left;font-size:10px;font-weight:700;color:var(--dim);letter-spacing:.08em;text-transform:uppercase;padding:0 13px 9px}
.pc-table td{padding:10px 13px;font-size:12.5px;color:var(--muted);border-top:1px solid rgba(255,255,255,.04)}
.pc-table tr:hover td{background:rgba(255,255,255,.03);color:var(--t)}
.pc-pts{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:22px;padding:0 7px;background:rgba(var(--ar),.12);border:1px solid rgba(var(--ar),.18);border-radius:6px;font-size:12px;font-weight:800;color:var(--accent)}
.pc-awarded{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--a3);background:rgba(var(--a3r),.10);border:1px solid rgba(var(--a3r),.18);padding:2px 8px;border-radius:99px}

/* VIEW ALL */
.pc-viewall{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--accent);transition:gap .2s}
.pc-viewall:hover{gap:8px}

/* GRID LAYOUTS */
.pc-r3{display:flex;gap:20px}.pc-f1{flex:1}.pc-f2{flex:2}
.pc-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pc-cpd-sum{display:flex;gap:20px;align-items:flex-start}

/* NON-DASHBOARD PAGES */
.pc-wrap{max-width:960px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:13px}
.pc-prof-wrap{width:100%;display:flex;flex-direction:column;gap:14px}
.pc-content-card{padding:24px 26px}
.pc-page-h{font-size:24px;font-weight:800;letter-spacing:-.03em;margin-bottom:8px;color:var(--t)}
.pc-content{font-size:14px;line-height:1.75;color:var(--muted)}
.pc-content h2,.pc-content h3{color:var(--t);font-weight:700;margin:18px 0 9px}
.pc-content p{margin-bottom:12px}
.pc-content a{color:var(--accent)}
.pc-content img{max-width:100%;border-radius:12px;margin:10px 0}
.pc-thumb{border-radius:14px;overflow:hidden;margin-bottom:18px}
.pc-thumb img{width:100%;height:240px;object-fit:cover}
.pc-post-meta-row{display:flex;gap:10px;margin-bottom:10px}
.pc-dim{font-size:12px;color:var(--dim)}
.pc-tag-chip{font-size:12px;color:var(--accent)}
.pc-post-nav{display:flex;justify-content:space-between;margin-top:24px;padding-top:18px;border-top:1px solid var(--rowb)}
.pc-nav-arrow{font-size:12.5px;font-weight:600;color:var(--muted);transition:color .2s}
.pc-nav-arrow:hover{color:var(--accent)}.ml{margin-left:auto}
.pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:13px;margin-top:16px}
.pc-grid-card{border-radius:14px;overflow:hidden;text-decoration:none;transition:all .3s}
.pc-grid-card:hover{transform:translateY(-4px)}
.pc-gc-img img{width:100%;height:130px;object-fit:cover}
.pc-gc-body{padding:12px}
.pc-gc-title{font-size:13.5px;font-weight:700;color:var(--t);margin-bottom:5px}
.pc-gc-exc{font-size:12px;color:var(--muted);line-height:1.5}
.pc-muted{color:var(--muted);font-size:13px;margin-top:6px}

/* ANIMATIONS */
@keyframes riseIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
#pcDash>*{animation:riseIn .5s cubic-bezier(.23,1,.32,1) both}
#pcDash>*:nth-child(1){animation-delay:.04s}
#pcDash>*:nth-child(2){animation-delay:.10s}
#pcDash>*:nth-child(3){animation-delay:.16s}
#pcDash>*:nth-child(4){animation-delay:.22s}
#pcDash>*:nth-child(5){animation-delay:.28s}

/* 3D TILT */
[data-tilt]{will-change:transform}

/* RESPONSIVE */
@media(max-width:1100px){.pc-qa-grid{grid-template-columns:repeat(3,1fr);}.pc-g3{grid-template-columns:1fr 1fr;gap:16px}.pc-r3{flex-wrap:wrap;gap:16px}.pc-f2{flex:unset;width:100%}.pc-cpd-sum{flex-wrap:wrap;gap:16px}}
@media(max-width:820px){.pc-shell{grid-template-columns:1fr;grid-template-areas:"hdr""main"}.pc-sidebar{display:none;position:fixed;left:0;top:0;height:100vh;z-index:200;width:240px}.pc-sidebar.open{display:flex}.pc-burger{display:flex}.pc-g3{grid-template-columns:1fr}}
@media(max-width:480px){.pc-qa-grid{grid-template-columns:repeat(2,1fr)}.pc-upill>span{display:none}.pc-main{padding:10px 10px 30px}}

/* SHOW MORE — hidden grid items */
.pc-hidden{display:none!important}

/* GLASS BUTTON VARIANT */
.pc-btn-glass{background:rgba(255,255,255,.08);color:var(--muted);border:1px solid rgba(255,255,255,.13);border-top-color:rgba(255,255,255,.2);box-shadow:0 2px 8px rgba(0,0,0,.16),0 1px 0 rgba(255,255,255,.07) inset}
[data-theme="light"] .pc-btn-glass{background:rgba(255,255,255,.55)}
.pc-btn-glass:hover{color:var(--t);border-color:rgba(var(--ar),.28)}

/* USER DROPDOWN — single unified system */
/* .pc-upill is the trigger; .pc-dropdown is the menu (hidden by default) */
.pc-upill{position:relative}
.pc-dropdown{
  position:absolute;top:calc(100% + 8px);right:0;
  background:linear-gradient(135deg,rgba(12,22,42,.97),rgba(8,16,32,.99));
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(56,189,248,.18);
  border-top-color:rgba(255,255,255,.22);
  border-radius:16px;
  box-shadow:0 8px 32px rgba(0,0,0,.6),0 0 0 1px rgba(56,189,248,.08),0 1px 0 rgba(255,255,255,.12) inset;
  min-width:200px;
  padding:8px;
  z-index:9999;
  display:none;
}
[data-theme="light"] .pc-dropdown{
  background:linear-gradient(135deg,rgba(240,247,255,.97),rgba(255,255,255,.99));
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 8px 32px rgba(100,140,200,.25),0 1px 0 rgba(255,255,255,.9) inset;
}
.pc-dropdown.open,
.pc-upill.open .pc-dropdown{
  display:block;
  animation:dropIn .18s cubic-bezier(.23,1,.32,1);
}
@keyframes dropIn{from{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}
.pc-drop-item{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;border-radius:10px;
  font-size:12.5px;font-weight:500;color:var(--muted);
  cursor:pointer;transition:all .15s;text-decoration:none;
}
.pc-drop-item:hover{background:rgba(56,189,248,.08);color:var(--t)}
.pc-drop-item.danger:hover{background:rgba(248,113,113,.08);color:var(--red)}
.pc-drop-divider{height:1px;background:var(--rowb);margin:4px 8px}

/* ── MOUSE-TRACKING SPOTLIGHT GLOW ── */
/* CSS custom props --mx/--my are set by JS on every mousemove */
.pc-glass{--mx:50%;--my:50%}
.pc-glass::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  z-index:3;
  background:radial-gradient(
    280px circle at var(--mx) var(--my),
    rgba(56,189,248,.14) 0%,
    rgba(139,92,246,.07) 40%,
    transparent 70%
  );
  opacity:0;
  transition:opacity .3s ease;
}
.pc-glass:hover::before{opacity:1}
[data-theme="light"] .pc-glass::before{
  background:radial-gradient(
    280px circle at var(--mx) var(--my),
    rgba(14,165,233,.12) 0%,
    rgba(124,58,237,.06) 40%,
    transparent 70%
  );
}
/* CPD card gets stronger glow */
#pcCpdCard.pc-glass::before{
  background:radial-gradient(
    320px circle at var(--mx) var(--my),
    rgba(56,189,248,.20) 0%,
    rgba(139,92,246,.10) 40%,
    transparent 70%
  );
}

/* ── LEARNDASH WRAPPER ── */
.pc-ld-wrap{width:100%;display:flex;flex-direction:column;gap:14px}
.pc-ld-card{padding:28px;min-height:400px}
.pc-breadcrumb{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px 0}
.pc-bc-item{font-size:12.5px;font-weight:600;color:var(--muted);text-decoration:none;transition:color .2s}
.pc-bc-item:hover{color:var(--accent)}
.pc-bc-sep{color:var(--dim);font-size:12px}
.pc-bc-current{font-size:12.5px;font-weight:600;color:var(--accent)}

/* WP Admin dropdown link — admins/editors only */
.pc-drop-item.admin-link{color:var(--accent2)!important}
.pc-drop-item.admin-link:hover{background:rgba(var(--a2r),.08)!important;color:var(--accent2)!important}

/* ── PROFILE PAGE ── */
.pc-prof-header{padding:22px 24px}
.pc-prof-avatar{
    width:64px;height:64px;border-radius:50%;flex-shrink:0;
    background:linear-gradient(135deg,var(--accent),var(--a2));
    display:flex;align-items:center;justify-content:center;
    font-size:22px;font-weight:800;color:#fff;
    box-shadow:0 0 0 3px rgba(var(--ar),.25),0 8px 24px rgba(var(--ar),.3);
}
.pc-prof-chip{
    font-size:11px;font-weight:600;padding:3px 10px;border-radius:99px;
    background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
    color:var(--muted);
}
.pc-prof-grid{display:grid;grid-template-columns:1fr 300px;gap:14px;align-items:start}
.pc-prof-field{margin-bottom:14px}
.pc-prof-field label{
    display:block;font-size:10px;font-weight:700;letter-spacing:.08em;
    text-transform:uppercase;color:var(--dim);margin-bottom:6px;
}
.pc-prof-field input[type="text"],
.pc-prof-field input[type="email"],
.pc-prof-field input[type="password"],
.pc-prof-field input[type="date"]{
    width:100%;background:var(--row);border:1px solid var(--rowb);border-radius:11px;
    padding:11px 14px;font-family:var(--pc-font-ui,'Outfit',sans-serif);font-size:13px;
    color:var(--t);outline:none;transition:border .25s,box-shadow .25s;
}
.pc-prof-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--ar),.15)}
.pc-prof-field input:disabled{opacity:.45;cursor:not-allowed}
.pc-prof-field input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(.6)}
.pc-prof-readonly{font-size:9.5px;font-weight:600;color:var(--dim);margin-left:8px;text-transform:none;letter-spacing:0}
.pc-pass-strength{margin-top:5px;min-height:16px}

.pc-prof-info-list{display:flex;flex-direction:column;gap:6px}
.pc-prof-info-row{
    display:flex;justify-content:space-between;align-items:center;
    padding:10px 12px;background:var(--row);border:1px solid var(--rowb);
    border-radius:10px;
}
.pc-prof-info-label{font-size:11.5px;color:var(--muted)}
.pc-prof-info-val{font-size:12px;font-weight:700;color:var(--t)}
.pc-prof-admin-note{
    display:flex;align-items:flex-start;gap:8px;
    margin-top:12px;padding:10px 12px;
    background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);
    border-radius:10px;font-size:11.5px;color:var(--dim);line-height:1.5;
}

/* Change Password — inline 3-column field grid */
.pc-pw-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}

@media(max-width:820px){
    .pc-prof-grid{grid-template-columns:1fr}
    .pc-pw-grid{grid-template-columns:1fr}
}

/* ACCESSIBILITY — v2.4.0
   Visually hidden labels for the filter controls on the Announcements and
   CPD History pages. Standard WordPress helper class. */
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0
}
.screen-reader-text:focus{
  position:static!important;width:auto;height:auto;margin:0;overflow:visible;
  clip:auto;clip-path:none;white-space:normal
}
