.filter-bar{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;gap:.75rem;align-items:end;margin:1rem 0}.filter-bar select,.filter-bar button{margin:0}.filter-bar button{width:auto}.enrollment-active,.enrollment-completed{background:#dff6ea;color:#17643b}.enrollment-pending{background:#fff4d6;color:#735600}.enrollment-cancelled,.enrollment-expired{background:#edf0f2;color:#52606d}.progress-block{margin:.7rem 0}.progress-block>div:first-child{display:flex;justify-content:space-between;gap:1rem}.progress-track{height:9px;overflow:hidden;background:#dce5ea;border-radius:999px;margin-top:.45rem}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--teal));border-radius:inherit}.course-progress{max-width:540px;margin-top:1.2rem}.course-progress small{display:block;color:var(--muted);margin-top:.45rem}.lesson-completion{display:flex;justify-content:space-between;align-items:center;gap:1rem}.lesson-completion p{margin:.3rem 0 0}.lesson-completion form{margin:0}.lesson-completion .button{width:auto}.certificate-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.certificate-actions .button{width:auto}.certificate-sheet{background:#fff;padding:24px;max-width:1050px;margin:auto;box-shadow:0 12px 40px rgba(18,59,93,.12)}.certificate-border{min-height:680px;border:12px double var(--navy);padding:clamp(2rem,6vw,5rem);display:flex;flex-direction:column;justify-content:center;text-align:center;position:relative;background:radial-gradient(circle at center,#fff 50%,#f1f8f8)}.certificate-brand{font-weight:900;letter-spacing:.16em;color:var(--navy)}.certificate-kicker{font-size:.85rem;letter-spacing:.24em;color:var(--teal);font-weight:900}.certificate-sheet h1{font-family:Georgia,serif;font-size:clamp(2.5rem,6vw,5rem);color:var(--navy);margin:.5rem}.certificate-sheet h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.4rem);color:#a57524;border-bottom:2px solid #d9c18c;padding-bottom:.5rem;align-self:center}.certificate-sheet h3{font-size:clamp(1.4rem,3vw,2.2rem);margin:.5rem}.certificate-copy{color:var(--muted);font-size:1.1rem}.certificate-meta{display:flex;justify-content:center;gap:3rem;margin:2rem 0}.certificate-meta span,.certificate-meta strong{display:block}.certificate-meta span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.verification-text{font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}.certificate-revoked{position:absolute;inset:40% 10% auto;transform:rotate(-8deg);border:6px solid var(--danger);color:var(--danger);font-size:2.3rem;font-weight:900;padding:1rem;background:rgba(255,255,255,.9)}.verify-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:linear-gradient(135deg,var(--navy),var(--teal))}.verify-card{width:min(100%,650px);background:#fff;border-radius:22px;padding:clamp(1.5rem,5vw,3rem);box-shadow:0 20px 60px rgba(0,0,0,.2)}.verify-form button{margin-top:1rem}.verification-result{margin-top:1.5rem;padding:1.2rem;border-radius:14px}.verification-result.valid{background:#e8f7f3;color:#086667}.verification-result.invalid{background:#fff0f0;color:#8d3030}.verification-result>strong{font-size:1.3rem}.verification-result dl{display:grid;grid-template-columns:130px 1fr;gap:.5rem;margin-bottom:0}.verification-result dt{font-weight:800}.verification-result dd{margin:0}.auth-shell:has(.verify-shell){display:block}.auth-shell:has(.verify-shell) .verify-shell{width:100%}
@media(max-width:760px){.filter-bar{grid-template-columns:1fr}.filter-bar button{width:100%}.lesson-completion,.certificate-actions{align-items:stretch;flex-direction:column}.lesson-completion .button,.certificate-actions .button{width:100%}.certificate-sheet{padding:8px}.certificate-border{min-height:600px;padding:1.2rem}.certificate-meta{flex-direction:column;gap:1rem}.verification-result dl{grid-template-columns:1fr}.verification-result dd{margin-bottom:.5rem}}
@media print{.topbar,.certificate-actions{display:none!important}.container{max-width:none;padding:0}.certificate-sheet{box-shadow:none;padding:0}.certificate-border{min-height:95vh}.certificate-sheet{break-inside:avoid}}
