:root{--pm-deep: #052d41;--pm-navy: #0a5a82;--pm-blue: #0088cb;--pm-cyan: #00a0d9;--pm-pale: #e2f2f9;--bg: #f1f7fb;--surface: #fff;--text: #1f2933;--muted: #52616b;--line: #d7e0e7;--line-strong: #9aabb8;--ok: #0f6b3a;--ok-bg: #e3f5ea;--warn: #7a4b00;--warn-bg: #fff2d6;--bad: #9b1c1c;--bad-bg: #fdecec;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 2px #052d4114, 0 4px 14px #052d410f;--shadow-pop: 0 8px 28px #052d4133;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.5;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg)}h1{margin:0;font-size:1.9rem;line-height:1.2;color:var(--pm-deep);letter-spacing:-.01em}h2{margin:0 0 var(--space-3);font-size:1.25rem;line-height:1.3;color:var(--pm-deep)}h3{color:var(--pm-deep)}p{margin:0 0 var(--space-3)}a{color:var(--pm-navy)}small{display:block;color:var(--muted);margin-top:var(--space-2);font-size:.85rem}main{max-width:1040px;margin:0 auto;padding:var(--space-6) var(--space-5) 56px}main>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-2)}.eyebrow{margin:0 0 var(--space-1);font-size:.72rem;color:var(--pm-navy);font-weight:800;letter-spacing:.14em}.muted{color:var(--muted)}.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}:focus-visible{outline:3px solid var(--pm-cyan);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}nav{min-height:68px;background:var(--pm-deep);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:8px max(var(--space-5),calc((100vw - 992px)/2));font-weight:600;border-bottom:4px solid var(--pm-cyan)}.nav-right{display:flex;align-items:center;gap:var(--space-4);min-width:0}.nav-user{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25;min-width:0}.nav-user strong{font-size:.92rem;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-chip{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9fdcf2}nav button{background:transparent;color:#fff;border:1px solid #ffffff55;padding:7px 14px;min-height:36px}nav button:hover{background:#ffffff1f;color:#fff}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--pm-deep);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.brand img{display:block;max-width:190px;max-height:52px;object-fit:contain}.brand-inverse{color:#fff}.brand-inverse img{filter:brightness(0) invert(1);max-width:140px;max-height:40px}.site-footer{max-width:1040px;margin:0 auto;padding:var(--space-5);color:var(--muted);font-size:.85rem;text-align:center;border-top:1px solid var(--line)}.site-footer a{color:var(--muted)}button,.button{background:var(--pm-navy);color:#fff;border:1px solid transparent;border-radius:8px;padding:10px 18px;min-height:40px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,color .15s,box-shadow .15s}button:hover,.button:hover{background:var(--pm-blue)}button:active,.button:active{box-shadow:inset 0 2px 4px #00000026}button:disabled{opacity:.5;cursor:not-allowed}button:disabled:hover{background:var(--pm-navy)}button.secondary,.button.secondary{background:#fff;color:var(--pm-navy);border-color:#b5cfdd}button.secondary:hover,.button.secondary:hover{background:var(--pm-pale);color:var(--pm-deep)}button.secondary:disabled:hover{background:#fff}button.danger{background:#8f1d1d}button.danger:hover{background:#ba1a1a}button.quiet,.link-button{background:none;color:var(--pm-navy);border-color:transparent;padding:8px 4px;min-height:36px;font-weight:600}button.quiet:hover,.link-button:hover{background:none;color:var(--pm-deep);text-decoration:underline}.link-button{display:block}button.busy{position:relative;color:transparent!important;pointer-events:none}button.busy:after{content:"";position:absolute;width:16px;height:16px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.actions,td.actions{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.form-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center;margin:var(--space-5) 0 0;padding-top:var(--space-4);border-top:1px solid var(--line)}td.action-cell{width:1%;white-space:nowrap;text-align:right}button.ellipsis-button{padding:6px 10px;min-height:36px;line-height:0;display:inline-flex;align-items:center}.action-menu{position:fixed;z-index:60;min-width:190px;background:#fff;border:1px solid #c5d4dc;border-radius:10px;box-shadow:var(--shadow-pop);padding:6px;display:flex;flex-direction:column}.action-menu button{background:transparent;color:var(--pm-deep);border:0;justify-content:flex-start;text-align:left;border-radius:var(--radius-sm);padding:9px 12px;min-height:38px;width:100%;font-weight:500}.action-menu button:hover:not(:disabled),.action-menu button:focus-visible{background:var(--pm-pale);color:var(--pm-deep);outline:none}.action-menu button.danger-item{color:var(--bad)}.action-menu button.danger-item:hover:not(:disabled),.action-menu button.danger-item:focus-visible{background:var(--bad-bg);color:var(--bad)}label{font-weight:600}.stack label,.card label,.login label,.dialog label{display:block;margin:var(--space-4) 0;font-weight:600}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font:inherit;color:var(--text);background:#fff;padding:10px 12px;min-height:42px;border:1px solid var(--line-strong);border-radius:8px;transition:border-color .15s,box-shadow .15s}label>input:not([type=checkbox]):not([type=radio]):not([type=file]),label>select,label>textarea{display:block;width:100%;margin-top:6px;font-weight:400}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:none;border-color:var(--pm-blue);box-shadow:0 0 0 3px #00a0d933}input[readonly]{background:#f3f7fa;color:var(--muted)}textarea{resize:vertical}input[type=file]{font:inherit;max-width:100%}.stack fieldset,.card fieldset{margin:var(--space-4) 0 0;padding:var(--space-4);border:1px solid #b9d7e6;border-radius:var(--radius);background:#fbfdfe}.stack fieldset legend,.card fieldset legend{font-weight:700;padding:0 var(--space-1)}.option{display:flex;align-items:center;gap:10px;margin:var(--space-2) 0!important;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:500!important;cursor:pointer;transition:border-color .15s,background .15s}.option:hover{border-color:var(--pm-blue);background:#f6fbfe}.option:has(input:checked){border-color:var(--pm-navy);background:var(--pm-pale)}.option input{-moz-appearance:auto;appearance:auto;-webkit-appearance:auto;accent-color:var(--pm-navy);width:1.2em;height:1.2em;margin:0;flex:0 0 auto}.toggle{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0;font-weight:600;cursor:pointer}.stack .toggle,.card .toggle{display:flex;margin:var(--space-4) 0}.toggle input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;box-sizing:border-box;flex:0 0 46px;width:46px;height:26px;margin:0;padding:0;border:1px solid #7d919e;border-radius:999px;background:#c5d4dc;display:inline-block;position:relative;cursor:pointer;transition:background .15s,border-color .15s}.toggle input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #052d4133;transition:transform .15s}.toggle input[type=checkbox]:checked{background:var(--pm-navy);border-color:var(--pm-navy)}.toggle input[type=checkbox]:checked:after{transform:translate(20px)}.toggle input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.toggle-label{line-height:1.35}.toggle-label small{margin-top:2px;font-weight:400}.add-item{margin:var(--space-4) 0 0}.inline-form{display:flex;gap:var(--space-2);align-items:center}.inline-form input{width:80px;margin:0;padding:7px}.choice-row{display:flex;align-items:center;gap:10px;margin:var(--space-2) 0}.choice-row input[type=radio]{flex:0 0 20px;width:20px;height:20px;margin:0;accent-color:var(--pm-navy)}.choice-row .choice-text{flex:1;min-width:0;margin:0}.choice-row button{padding:8px 12px;min-height:38px}.password-field{display:block;position:relative;margin-top:6px}.password-field input{display:block;width:100%;padding-right:76px!important;font-weight:400}.password-field .show-toggle{position:absolute;right:6px;bottom:5px;min-height:32px;padding:4px 10px;font-size:.85rem}.checklist{list-style:none;margin:0 0 var(--space-3);padding:0;font-size:.85rem;color:var(--muted)}.checklist li{display:flex;align-items:center;gap:8px;padding:2px 0}.checklist li:before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid #b5c4ce;flex:0 0 14px}.checklist li.met{color:var(--ok)}.checklist li.met:before{border-color:var(--ok);background:var(--ok) radial-gradient(circle at 50% 50%,#fff 0 28%,transparent 30%)}.card,.result{background:var(--surface);border-radius:14px;padding:var(--space-5);margin:var(--space-5) 0;box-shadow:var(--shadow);border:1px solid #e3ecf1}.card>h2:first-child{padding-bottom:var(--space-3);border-bottom:1px solid var(--line);margin-bottom:var(--space-4)}.follow-form{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--line)}.follow-form h2{margin-bottom:var(--space-4)}.table-wrap{overflow:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;text-align:left}th{background:#f3f8fb;color:var(--pm-deep);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;white-space:nowrap}th,td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}th:first-child{border-top-left-radius:8px}th:last-child{border-top-right-radius:8px}tbody tr:hover{background:#f8fbfd}tbody tr:last-child td{border-bottom:0}td small{margin:2px 0 0}.pick-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-5)}.people-pick{max-height:380px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}.people-pick input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:var(--pm-navy)}.notice,.error,.success{display:block;margin:var(--space-3) 0;padding:12px 14px 12px 16px;border-radius:8px;border-left:4px solid var(--pm-cyan);background:var(--pm-pale);color:var(--pm-deep);font-weight:500}.error{border-left-color:#c62828;background:var(--bad-bg);color:var(--bad);font-weight:600}.success{border-left-color:var(--ok);background:var(--ok-bg);color:var(--ok)}.notice p:last-child,.notice-list{margin-bottom:0}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700;line-height:1.5;white-space:nowrap;background:#e8edf1;color:#3a4750}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-info{background:var(--pm-pale);color:var(--pm-navy)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-bad{background:var(--bad-bg);color:var(--bad)}.badge-muted{background:#e8edf1;color:#3a4750}.progress-row{display:flex;align-items:center;gap:10px;min-width:150px}.progress{position:relative;flex:1;height:10px;background:#dbe7ee;border-radius:999px}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--pm-blue),var(--pm-cyan));transition:width .3s}.progress-fill.done{background:linear-gradient(90deg,#138a4c,#25b36b)}.progress-mark{position:absolute;left:90%;top:-3px;bottom:-3px;width:2px;background:var(--pm-deep);opacity:.4;border-radius:1px}.progress-label{min-width:3.4ch;font-size:.85rem;font-weight:700;color:var(--pm-deep);text-align:right}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-4);margin:var(--space-4) 0 var(--space-2)}.stat-card{background:#fff;border:1px solid #e3ecf1;border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow);border-top:3px solid var(--pm-cyan)}.stat-card strong{display:block;font-size:1.7rem;line-height:1.15;color:var(--pm-deep)}.stat-card span{display:block;margin-top:2px;font-size:.82rem;color:var(--muted);font-weight:600}.loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:var(--space-6);color:var(--muted);font-weight:600}.spinner{width:22px;height:22px;border:3px solid #cfe0ea;border-top-color:var(--pm-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:var(--space-6) var(--space-4);color:var(--muted)}.empty-state strong{display:block;color:var(--pm-deep);font-size:1.05rem;margin-bottom:4px}td.empty{text-align:center;color:var(--muted);padding:var(--space-5)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#052d4199;display:grid;place-items:center;padding:var(--space-4);animation:fade .15s}.dialog{background:#fff;border-radius:14px;box-shadow:var(--shadow-pop);padding:var(--space-5);width:100%;max-width:460px}.dialog h2{border:0;padding:0;margin-bottom:var(--space-2)}.dialog p{color:var(--text)}.dialog .form-actions{justify-content:flex-end;border:0;padding-top:0;margin-top:var(--space-4)}@keyframes fade{0%{opacity:0}to{opacity:1}}.tabs{display:flex;gap:2px;margin:var(--space-4) 0 var(--space-2);border-bottom:1px solid #c5d4dc;overflow-x:auto;scrollbar-width:thin}.tabs.sub{margin-top:var(--space-3);border-bottom-color:var(--line)}.tab{background:none;color:var(--muted);border:0;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;padding:10px 16px;min-height:44px;font-weight:600;white-space:nowrap}.tab:hover{background:var(--pm-pale);color:var(--pm-deep)}.tab.active{color:var(--pm-navy);border-bottom-color:var(--pm-cyan);background:none}.tab.active:hover{background:var(--pm-pale)}.tabs.sub .tab{padding:8px 14px;min-height:40px;font-size:.92rem}.login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:clamp(40px,10vh,96px) var(--space-4) var(--space-5);max-width:none;background:linear-gradient(180deg,var(--pm-deep) 0,var(--pm-deep) 230px,var(--bg) 230px)}.login .card{width:100%;max-width:460px;margin:0;padding:var(--space-6);border-top:5px solid var(--pm-cyan);box-shadow:var(--shadow-pop)}.login .brand{margin-bottom:var(--space-4)}.login .brand img{max-width:210px;max-height:64px}.login h1{font-size:1.6rem;margin-bottom:var(--space-2)}.login .lead{color:var(--muted);margin-bottom:var(--space-3)}.login form>button{width:100%;margin-top:var(--space-3);min-height:46px}.login .auth-links{display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line)}.login .link-button{padding:4px 0}.login .site-footer{border:0;color:var(--muted);padding-top:var(--space-4)}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4);margin:var(--space-4) 0}.course-card{background:#fff;border:1px solid #e3ecf1;border-radius:14px;padding:var(--space-5);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:var(--space-3);border-top:4px solid var(--pm-cyan)}.course-card.done{border-top-color:#25b36b}.course-card h2{margin:0;font-size:1.15rem}.course-card .meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.course-card .grow{flex:1}.course-card button{align-self:flex-start}.steps{list-style:none;display:flex;gap:var(--space-3);padding:0;margin:var(--space-4) 0;flex-wrap:wrap}.step{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:#e8edf1;color:var(--muted);font-weight:700;font-size:.9rem}.step .num{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:var(--muted);font-size:.8rem}.step.current{background:var(--pm-pale);color:var(--pm-navy)}.step.current .num{background:var(--pm-navy);color:#fff}.step.done{background:var(--ok-bg);color:var(--ok)}.step.done .num{background:var(--ok);color:#fff}.video{width:100%;aspect-ratio:16 / 9;border:0;background:#0b1f2b;border-radius:var(--radius);display:block}.placeholder{display:grid;place-items:center;color:#c5d4dc;text-align:center;padding:var(--space-4)}.locked{color:var(--muted);display:flex;align-items:center;gap:10px;background:#f3f8fb;border-radius:8px;padding:12px 14px}.video-progress{margin:var(--space-3) 0}.quiz .question{margin:var(--space-4) 0}.quiz .question-count{color:var(--muted);font-weight:600;margin:var(--space-3) 0}.quiz legend{font-weight:700;padding:0 var(--space-1);color:var(--pm-deep)}.result h2{border:0}.result.passed{border-top:5px solid #25b36b}.result.retry{border-top:5px solid #e0a100}.score-big{font-size:2.4rem;font-weight:800;color:var(--pm-deep);line-height:1.1}.certificate{position:relative;overflow:hidden;text-align:center;border:12px solid var(--pm-deep);outline:2px solid var(--pm-cyan);outline-offset:-22px;padding:0;margin:var(--space-5) 0;background:linear-gradient(135deg,#fff,#f3fbff);border-radius:var(--radius);box-shadow:var(--shadow)}.certificate:before,.certificate:after{content:"";position:absolute;width:220px;height:220px;border:32px solid #00a0d91f;border-radius:50%;pointer-events:none}.certificate:before{top:-135px;left:-105px}.certificate:after{right:-130px;bottom:-140px}.certificate-top,.certificate-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;background:var(--pm-deep);padding:18px 30px;color:#fff}.certificate-top .brand{color:#fff}.certificate-top .brand img{filter:brightness(0) invert(1);max-width:160px}.certificate-label{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:700}.certificate-body{position:relative;z-index:1;padding:48px 50px 34px}.certificate-kicker{margin:0 0 13px;text-transform:uppercase;letter-spacing:.2em;color:var(--pm-navy);font-weight:800;font-size:.82rem}.certificate h2{margin:0;padding:0;border:0;font-family:Georgia,serif;font-size:2.6rem;color:var(--pm-deep)}.certificate h3{margin:10px 0 14px;font-size:1.35rem;color:var(--pm-navy)}.certificate-statement{margin:10px auto;max-width:610px;font-size:1.05rem}.certificate-details{display:flex;justify-content:center;gap:0;margin:33px auto 0;max-width:720px;border-top:1px solid #9ecbe0}.certificate-details span{flex:1;padding:15px 12px 0;font-size:.82rem}.certificate-details span+span{border-left:1px solid #9ecbe0}.certificate-details strong{display:block;margin-bottom:5px;color:var(--pm-navy);font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}.certificate-footer{min-height:80px;padding:16px 32px;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.certificate-seal{display:grid;place-items:center;width:58px;height:58px;border:2px solid #fff;border-radius:50%;font-weight:900;line-height:1;color:#fff}.certificate-seal small{margin:3px 0 0;color:#fff;font-size:.47rem;letter-spacing:.04em}.certificate-download{position:relative;z-index:1;margin:24px 0 8px}.certificate-help{position:relative;z-index:1;margin:0 24px 22px}@media (max-width: 760px){main{padding:var(--space-5) var(--space-4) 40px}h1{font-size:1.55rem}.card,.result{padding:var(--space-4);border-radius:12px}nav{padding:8px var(--space-4)}.nav-user{display:none}.brand-inverse img{max-width:120px}th,td{padding:10px}.course-grid{grid-template-columns:1fr}.form-actions button,.form-actions .button{flex:1 1 auto}.login{padding-top:32px;background:linear-gradient(180deg,var(--pm-deep) 0,var(--pm-deep) 150px,var(--bg) 150px)}.login .card{padding:var(--space-5) var(--space-4)}}@media (max-width: 640px){.certificate-body{padding:35px 22px 24px}.certificate h2{font-size:2rem}.certificate-details{display:block}.certificate-details span{display:block;padding:11px}.certificate-details span+span{border-left:0;border-top:1px solid #9ecbe0}.certificate-label{display:none}}@media print{nav,.notice,button,.certificate-help,.site-footer{display:none}body{background:#fff}main{max-width:none;padding:0}.certificate{box-shadow:none;margin:0;break-inside:avoid}.result>:not(.certificate){display:none}main>:not(.certificate),main>.result{display:none}main>.result:has(.certificate){display:block}.certificate-download{display:none}}.lede{color:var(--muted, #4a5b66);margin:0 0 1rem;max-width:62ch}.card .stack h2{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line);font-size:1.05rem}.card .stack h2:first-child{margin-top:0;padding-top:0;border-top:0}@media print{body *{visibility:hidden}main>*,main>.card,.result{display:block!important}.certificate,.certificate *{visibility:visible}.certificate{position:absolute;top:0;left:0;width:100%;margin:0;box-shadow:none}.certificate button,.certificate-help{display:none!important}}
