/* TechDepth learner account — additive account styles. Existing site CSS remains the foundation. */
.account-hero .hero-inner{padding-bottom:48px}.account-page-shell{padding-top:32px}.account-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:28px;align-items:start}.account-card{border:1px solid #d8e1e8;border-radius:12px;background:#fff;padding:24px;box-shadow:0 12px 30px rgba(11,37,69,.05)}.account-card h2{margin-top:0}.account-card p{text-align:left;line-height:1.58;color:#52606d}.account-kicker{display:inline-block;margin-bottom:8px;color:#315f48;font-size:8.4pt;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.auth-provider-stack{display:grid;gap:11px;margin:20px 0 10px}.auth-provider-button{width:100%;justify-content:center;border:1px solid #cfd9e2;cursor:pointer;font:inherit}.auth-provider-button[disabled]{cursor:not-allowed;opacity:.58}.auth-provider-button .provider-mark{display:grid;place-items:center;width:22px;height:22px;border:1px solid currentColor;border-radius:50%;font-family:"Oswald",Arial,sans-serif;font-size:8pt;font-weight:700}.account-state{display:none;margin:15px 0;padding:13px 15px;border-left:3px solid #315f48;background:#f2f7f4;color:#40505f;font-size:8.8pt;line-height:1.48}.account-state.is-visible{display:block}.account-state.is-error{border-left-color:#9b3f3f;background:#fbf4f4;color:#713737}.account-state.is-info{border-left-color:#4c6f91;background:#f2f6fa}.account-privacy-note{margin-top:18px;padding-top:15px;border-top:1px solid #e1e6ea;color:#687581;font-size:8pt;line-height:1.48}.account-privacy-note a{font-weight:600}.account-flow{display:grid;gap:10px}.account-flow-step{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;padding:12px;border:1px solid #e0e6eb;border-radius:8px;background:#fafcfd}.account-flow-step strong:first-child{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8f0eb;color:#315f48;font-family:"Oswald",Arial,sans-serif}.account-flow-step span{display:block;margin-top:3px;color:#65727e;font-size:8.1pt;line-height:1.4}.account-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.account-summary-grid>div{padding:14px;border:1px solid #dfe5e9;border-radius:8px;background:#f9fbfc}.account-summary-grid strong{display:block;color:#0b2545;font-family:"Oswald",Arial,sans-serif;font-size:15pt}.account-summary-grid span{display:block;margin-top:3px;color:#65727e;font-size:8pt;line-height:1.35}.account-session-panel{display:grid;gap:10px}.account-session-row{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid #e5e9ed}.account-session-row:last-child{border-bottom:0}.account-session-row strong{color:#0b2545;font-size:8.5pt}.account-session-row span{overflow-wrap:anywhere;color:#596774;font-size:8.5pt}.account-shell-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.account-shell-actions button{border:0}.account-coming-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.account-coming-grid>div{padding:14px;border:1px solid #dfe5e9;border-radius:8px;background:#fbfcfd}.account-coming-grid strong{display:block;color:#0b2545}.account-coming-grid span{display:block;margin-top:4px;color:#687581;font-size:8.1pt;line-height:1.4}.auth-callback-card{max-width:720px;margin:0 auto;text-align:center}.auth-callback-spinner{width:34px;height:34px;margin:8px auto 18px;border:3px solid #dce5e0;border-top-color:#315f48;border-radius:50%;animation:td-auth-spin .9s linear infinite}@keyframes td-auth-spin{to{transform:rotate(360deg)}}
@media(max-width:860px){.account-grid{grid-template-columns:1fr}.account-summary-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.account-summary-grid,.account-coming-grid{grid-template-columns:1fr}.account-card{padding:19px}.account-session-row{grid-template-columns:1fr;gap:4px}}
@media(prefers-reduced-motion:reduce){.auth-callback-spinner{animation:none}}
/* Provider buttons use the locked global Button Fun system while retaining a neutral OAuth appearance. */
.auth-provider-button.feedback-button{display:flex!important;align-items:center;gap:10px;background:#fff!important;color:#0b2545!important;border:1px solid #cfd9e2!important;box-shadow:0 1px 2px rgba(11,37,69,.08)!important}
.auth-provider-button.feedback-button:hover,.auth-provider-button.feedback-button:focus-visible{background:#f5f8fa!important;color:#0b2545!important;border-color:#9fb0bf!important}


/* Checkpoint 28 — My Learning dashboard */
.learning-continue-card{margin-top:22px}
.learning-dashboard-section{margin-top:28px}
.learning-progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.learning-progress-card{padding:16px;border:1px solid #dfe5e9;border-radius:9px;background:#fff}
.learning-progress-card-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.learning-progress-card-heading strong{color:#0b2545;font-family:"Oswald",Arial,sans-serif;font-size:14pt}
.learning-progress-card-heading span{color:#596774;font-size:8.4pt;font-weight:700}
.learning-progress-meter{height:8px;margin:11px 0 8px;overflow:hidden;border-radius:999px;background:#e6ecef}
.learning-progress-meter span{display:block;height:100%;border-radius:inherit;background:#315f48}
.learning-progress-card small{color:#687581;font-size:7.8pt}
.learning-dashboard-list{display:grid;gap:8px;margin-top:14px}
.learning-dashboard-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:13px 14px;border:1px solid #dfe5e9;border-radius:8px;background:#fff;text-decoration:none}
.learning-dashboard-row:hover,.learning-dashboard-row:focus-visible{border-color:#aebdc8;box-shadow:0 7px 18px rgba(11,37,69,.07)}
.learning-dashboard-row strong{display:block;color:#0b2545;line-height:1.35}
.learning-dashboard-row small{display:block;margin-top:3px;color:#6b7782;font-size:7.8pt;line-height:1.4}
.learning-dashboard-row-meta{max-width:190px;color:#596774;font-size:7.8pt;line-height:1.35;text-align:right}
.learning-dashboard-empty{margin:14px 0 0;padding:14px;border:1px dashed #cfd9e1;border-radius:8px;color:#687581;background:#fbfcfd;text-align:left}
@media(max-width:760px){.learning-progress-grid{grid-template-columns:1fr}.learning-dashboard-row{grid-template-columns:1fr;gap:6px}.learning-dashboard-row-meta{max-width:none;text-align:left}}

/* ==========================================================
   CHECKPOINT 28C — PROFESSIONAL LEARNER EXPERIENCE
   ========================================================== */
.auth-entry-body{background:#f5f7fa}.auth-entry-shell{max-width:1180px;margin:0 auto;padding:70px 28px 80px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);gap:48px;align-items:center}.auth-entry-story{padding:18px 8px}.auth-entry-eyebrow{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e9f2ed;color:#315f48;font-size:7.6pt;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.auth-entry-story h1{max-width:720px;margin:18px 0 13px;color:#0b2545;font-family:"Oswald",Arial,sans-serif;font-size:clamp(34px,4vw,58px);line-height:1.04}.auth-entry-story>p{max-width:720px;color:#536370;font-size:11pt;line-height:1.7;text-align:left}.auth-benefit-grid{display:grid;gap:13px;margin-top:28px}.auth-benefit-grid article{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:14px 0;border-top:1px solid #dce3e8}.auth-benefit-grid article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#0b2545;color:#fff;font:700 8pt "Lexend",Arial,sans-serif}.auth-benefit-grid strong{display:block;color:#17304e}.auth-benefit-grid p{margin:4px 0 0;color:#65737f;font-size:8.3pt;line-height:1.5;text-align:left}.auth-trust-strip{margin-top:26px;padding:15px 17px;border-left:3px solid #315f48;border-radius:0 10px 10px 0;background:#edf4f0}.auth-trust-strip strong,.auth-trust-strip span{display:block}.auth-trust-strip strong{color:#19344f;font-size:8.5pt}.auth-trust-strip span{margin-top:3px;color:#60717d;font-size:7.6pt;line-height:1.45}
.auth-entry-card{padding:30px;border:1px solid #d4dee6;border-radius:18px;background:#fff;box-shadow:0 22px 55px rgba(11,37,69,.10)}.auth-card-top h2{margin:5px 0 8px;font-size:23pt}.auth-card-top p{margin:0 0 18px;color:#65737f;font-size:8.6pt;line-height:1.55;text-align:left}.auth-provider-stack-modern{gap:12px}.auth-provider-button-modern{display:flex;width:100%;align-items:center;justify-content:flex-start;gap:13px;min-height:50px;padding:11px 16px;border:1px solid #c9d3db;border-radius:10px;background:#fff;color:#1f1f1f;font:600 9.5pt "Lexend",Arial,sans-serif;cursor:pointer}.auth-provider-button-modern:hover,.auth-provider-button-modern:focus-visible{border-color:#899ba9;background:#f8fafb;box-shadow:0 6px 16px rgba(11,37,69,.07)}.auth-provider-button-modern img{width:22px;height:22px;object-fit:contain}.auth-provider-button-modern.github img{border-radius:50%}.auth-mode-switch{margin-top:17px;padding-top:16px;border-top:1px solid #e1e6ea;color:#667580;font-size:8pt;text-align:center}.auth-mode-switch a{font-weight:700}.auth-identity-note{margin-top:18px;padding:13px 14px;border-radius:10px;background:#f7f9fb}.auth-identity-note strong{display:block;color:#17304e;font-size:8pt}.auth-identity-note p{margin:4px 0 0;color:#6a7782;font-size:7.5pt;line-height:1.45;text-align:left}

.learning-workspace{padding-top:34px;padding-bottom:70px}.learning-workspace-header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:0 0 24px}.learning-workspace-header h1{margin:4px 0 6px;font-size:30pt}.learning-workspace-header p{margin:0;color:#667580;text-align:left}.learning-header-stats{display:grid;grid-template-columns:repeat(3,105px);gap:8px}.learning-header-stats>div{padding:12px 13px;border:1px solid #dce4e9;border-radius:12px;background:#fff}.learning-header-stats strong{display:block;color:#0b2545;font:700 18pt "Oswald",Arial,sans-serif}.learning-header-stats span{display:block;margin-top:2px;color:#6c7882;font-size:7.2pt}
.resume-learning-hero{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:22px;align-items:center;overflow:hidden;padding:28px 30px;border-radius:18px;background:linear-gradient(120deg,#0b2545 0%,#133c5f 52%,#315f48 100%);color:#fff;box-shadow:0 20px 46px rgba(11,37,69,.18)}.resume-learning-hero::after{content:"";position:absolute;right:-100px;top:-130px;width:340px;height:340px;border-radius:50%;border:45px solid rgba(255,255,255,.045)}.resume-play{position:relative;z-index:1;display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#fff;color:#0b2545;font-size:22px;box-shadow:0 10px 26px rgba(0,0,0,.18)}.resume-copy{position:relative;z-index:1}.resume-kicker{display:block;margin-bottom:6px;color:#b7d7c5;font-size:7.6pt;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.resume-copy h2{margin:0;color:#fff;font-size:23pt}.resume-copy p{margin:7px 0 13px;color:#dbe6ec;text-align:left}.resume-action{display:inline-flex;color:#fff!important;font-weight:700;text-decoration:none!important;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:2px}.resume-action:hover{border-bottom-color:#fff}.resume-status{position:relative;z-index:1}.resume-status span{display:inline-flex;padding:7px 10px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.08);font-size:7.4pt;font-weight:700}
.learning-stage-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 28px}.learning-stage-strip article{padding:13px 15px;border:1px solid #dce4e9;border-radius:11px;background:#fff}.learning-stage-strip article>div:first-child{display:flex;justify-content:space-between;gap:12px}.learning-stage-strip span{color:#17304e;font-weight:700}.learning-stage-strip strong{color:#315f48}.learning-stage-meter{height:6px;margin:9px 0 6px;overflow:hidden;border-radius:999px;background:#e7edf0}.learning-stage-meter i{display:block;height:100%;border-radius:inherit;background:#315f48}.learning-stage-strip small{color:#5f6e79;font-size:7.2pt}
.learning-workspace-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.72fr);gap:18px;margin-top:18px}.skill-map-panel,.certificate-panel,.dashboard-panel{border:1px solid #dce4e9;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(11,37,69,.045)}.skill-map-panel,.dashboard-panel{padding:22px}.certificate-panel{padding:22px}.dashboard-panel-heading{display:flex;justify-content:space-between;gap:24px;align-items:end}.dashboard-panel-heading h2{margin:3px 0 0}.dashboard-panel-heading>p{max-width:380px;margin:0;color:#6d7983;font-size:7.8pt;line-height:1.45;text-align:left}.skill-map{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;margin-top:20px}.skill-node{position:relative;display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid #dfe6ea;border-radius:12px;background:#fbfcfd}.skill-node>b{display:none}.skill-node-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#e7ecef;color:#17304e;box-shadow:inset 0 0 0 1px #dde4e8}.skill-node-icon::before{content:"";width:24px;height:24px;background-color:currentColor;-webkit-mask:var(--skill-icon) no-repeat center/contain;mask:var(--skill-icon) no-repeat center/contain}.skill-node.not-started .skill-node-icon{background:#edf1f3;color:#33485f}.skill-node.in-progress .skill-node-icon{background:#e8f1ec;color:#214d40}.skill-node.mastered{border-color:#a7cbb7;background:#f4faf6}.skill-node.mastered .skill-node-icon{background:#315f48;color:#fff;box-shadow:none}.skill-icon-ai-foundations{--skill-icon:url('/assets/icons/icon-skill-ai-foundations.svg')}.skill-icon-python-data{--skill-icon:url('/assets/icons/icon-skill-python-data.svg')}.skill-icon-math-statistics{--skill-icon:url('/assets/icons/icon-skill-math-statistics.svg')}.skill-icon-machine-learning{--skill-icon:url('/assets/icons/icon-skill-machine-learning.svg')}.skill-icon-neural-deep-learning{--skill-icon:url('/assets/icons/icon-skill-neural-deep-learning.svg')}.skill-icon-models-systems{--skill-icon:url('/assets/icons/icon-skill-models-systems.svg')}.skill-icon-assistants-agents{--skill-icon:url('/assets/icons/icon-skill-assistants-agents.svg')}.skill-icon-applied-ai{--skill-icon:url('/assets/icons/icon-skill-applied-ai.svg')}.skill-node-heading{display:flex;justify-content:space-between;gap:8px}.skill-node-heading strong{color:#17304e;font-size:8.4pt}.skill-node-heading span{color:#71808b;font-size:6.8pt;text-transform:uppercase;letter-spacing:.04em}.skill-node-meter{height:5px;margin:7px 0 5px;overflow:hidden;border-radius:999px;background:#e5ebee}.skill-node-meter i{display:block;height:100%;background:#315f48}.skill-node small{color:#78858f;font-size:6.8pt;line-height:1.35}
.certificate-panel{text-align:center}.certificate-panel h2{margin:4px 0 16px}.certificate-ring{--certificate-progress:0deg;display:grid;place-items:center;width:150px;height:150px;margin:0 auto 16px;border-radius:50%;background:conic-gradient(#315f48 var(--certificate-progress),#e4eaed 0);position:relative}.certificate-ring::after{content:"";position:absolute;width:118px;height:118px;border-radius:50%;background:#fff}.certificate-ring>div{position:relative;z-index:1}.certificate-ring strong{display:block;color:#0b2545;font:700 24pt "Oswald",Arial,sans-serif}.certificate-ring span{color:#75818b;font-size:7.2pt}.certificate-panel p{font-size:8pt;line-height:1.5;text-align:center}.certificate-download{width:100%;justify-content:center;margin-top:8px}.certificate-panel small{display:block;margin-top:10px;color:#89949c;font-size:6.6pt;line-height:1.35}
.learning-activity-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:18px;margin-top:18px}.latest-activity-card{display:block;margin-top:14px;padding:18px;border-radius:13px;background:#f5f8fa;text-decoration:none}.latest-activity-card:hover{background:#eef4f0}.activity-stage{display:inline-flex;margin-bottom:8px;padding:5px 8px;border-radius:999px;background:#e6f0ea;color:#315f48;font-size:6.8pt;font-weight:800;text-transform:uppercase}.latest-activity-card strong{display:block;color:#0b2545;font-size:10pt}.latest-activity-card small{display:block;margin-top:4px;color:#5f6e79}.latest-activity-card>div{display:flex;justify-content:space-between;margin-top:15px;padding-top:10px;border-top:1px solid #dce4e8;color:#65737f;font-size:7.2pt}
.bookmark-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.bookmark-card{position:relative;display:grid;gap:4px;padding:13px 34px 13px 13px;border:1px solid #e0e6ea;border-radius:11px;background:#fff;text-decoration:none}.bookmark-card:hover{border-color:#adc1b5;background:#f8fbf9}.bookmark-card>span{color:#315f48;font-size:6.6pt;font-weight:800;text-transform:uppercase}.bookmark-card strong{color:#17304e;font-size:8.1pt;line-height:1.35}.bookmark-card small{color:#7a8790;font-size:6.7pt;line-height:1.4}.bookmark-card b{position:absolute;right:13px;top:13px;color:#789086;font-size:9pt}.completed-panel{margin-top:18px}.completed-item-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.completed-item-card{display:flex;justify-content:space-between;gap:18px;padding:13px 14px;border:1px solid #e0e6ea;border-radius:10px;text-decoration:none}.completed-item-card:hover{border-color:#aac2b4;background:#f8fbf9}.completed-item-card span{display:block;margin-bottom:3px;color:#72808b;font-size:6.7pt}.completed-item-card strong{display:block;color:#17304e;font-size:8.2pt;line-height:1.35}.completed-item-card>small{flex:0 0 auto;color:#71808b;font-size:6.7pt;text-align:right}
.profile-shell{display:grid;gap:18px}.profile-identity-card{display:flex;align-items:center;gap:18px;padding:24px;border:1px solid #d8e1e8;border-radius:16px;background:linear-gradient(120deg,#fff,#f1f6f3)}.profile-avatar{display:grid;place-items:center;width:76px;height:76px;overflow:hidden;border-radius:50%;background:#0b2545;color:#fff;font:700 15pt "Lexend",Arial,sans-serif}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-identity-card h2{margin:2px 0 4px;font-size:25pt}.profile-identity-card p{margin:0;color:#6b7882}.profile-detail-grid,.settings-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:18px}.settings-form{display:grid;gap:10px;margin-top:18px}.settings-switch{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:14px;border:1px solid #e0e6ea;border-radius:11px;cursor:pointer}.settings-switch strong,.settings-switch small{display:block}.settings-switch strong{color:#17304e}.settings-switch small{margin-top:3px;color:#5f6e79;font-size:7.4pt}.settings-switch input{position:absolute;opacity:0;pointer-events:none}.settings-switch i{position:relative;width:44px;height:24px;border-radius:999px;background:#cbd5dc;transition:.18s}.settings-switch i::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.18s}.settings-switch input:focus-visible+i{outline:3px solid rgba(49,95,72,.34);outline-offset:3px}.settings-switch:focus-within{border-color:#315f48;box-shadow:0 0 0 3px rgba(49,95,72,.14)}.settings-switch input:checked+i{background:#315f48}.settings-switch input:checked+i::after{transform:translateX(20px)}.settings-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:5px}.settings-link-list{display:grid;margin-top:14px}.settings-link-list a{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #e5e9ed;text-decoration:none;font-weight:700}.settings-link-list a:last-child{border-bottom:0}
@media(max-width:900px){.auth-entry-shell,.learning-workspace-grid,.learning-activity-grid,.profile-detail-grid,.settings-layout{grid-template-columns:1fr}.auth-entry-shell{padding-top:40px}.learning-workspace-header{align-items:start;flex-direction:column}.learning-header-stats{width:100%;grid-template-columns:repeat(3,1fr)}.certificate-panel{max-width:none}.bookmark-card-grid,.completed-item-grid{grid-template-columns:1fr}}
@media(max-width:620px){.auth-entry-shell{padding:28px 17px 55px}.auth-entry-card{padding:22px}.resume-learning-hero{grid-template-columns:58px 1fr;padding:22px}.resume-play{width:54px;height:54px}.resume-status{grid-column:2}.resume-copy h2{font-size:18pt}.learning-stage-strip{grid-template-columns:1fr}.skill-map{grid-template-columns:1fr}.learning-header-stats{grid-template-columns:1fr 1fr 1fr}.learning-header-stats>div{padding:9px}.dashboard-panel-heading{align-items:start;flex-direction:column}.profile-identity-card{align-items:flex-start}.profile-avatar{width:60px;height:60px}}

/* ==========================================================
   CHECKPOINT 28D — LEARNER WORKSPACE REFINEMENT
   ========================================================== */
.account-state[hidden],.certificate-requirements[hidden]{display:none!important}
.resume-play{border:0;text-decoration:none!important;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.resume-play:hover,.resume-play:focus-visible{transform:translateY(-2px) scale(1.03);background:#f4f8f6;box-shadow:0 14px 32px rgba(0,0,0,.22);outline:3px solid rgba(255,255,255,.28);outline-offset:3px}
.skill-node.in-progress{border-color:#c7d9cf;background:#f9fcfa}
.certificate-download[disabled]{opacity:1;cursor:pointer}.certificate-requirements{margin-top:14px;padding:14px;border:1px solid #dbe4e9;border-radius:11px;background:#f7f9fb;text-align:left}.certificate-requirements>strong{display:block;color:#17304e;font-size:8pt}.certificate-requirements p{margin:10px 0 0;color:#6d7983;font-size:7.1pt;line-height:1.45;text-align:left}.certificate-requirement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.certificate-requirement-grid>div{padding:9px;border:1px solid #e0e6ea;border-radius:8px;background:#fff;text-align:center}.certificate-requirement-grid span,.certificate-requirement-grid strong{display:block}.certificate-requirement-grid span{color:#71808b;font-size:6.5pt}.certificate-requirement-grid strong{margin-top:2px;color:#0b2545;font:700 10pt "Oswald",Arial,sans-serif}
.auth-signup-body{background:#f4f7f5}.auth-signup-body .auth-entry-eyebrow{background:#0b2545;color:#fff}.auth-signup-body .auth-entry-story h1{color:#173b30}.auth-signup-card{border-top:4px solid #315f48}.signup-expectation-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.signup-expectation-grid article{padding:16px;border:1px solid #d7e1dc;border-radius:12px;background:rgba(255,255,255,.68)}.signup-expectation-grid article>span{display:inline-block;margin-bottom:7px;color:#315f48;font-size:6.6pt;font-weight:800;letter-spacing:.09em}.signup-expectation-grid strong{display:block;color:#17304e;font-size:8.8pt}.signup-expectation-grid p{margin:5px 0 0;color:#667580;font-size:7.5pt;line-height:1.5;text-align:left}.auth-signup-trust{background:#e9f2ed}.signup-account-summary{margin-top:18px;padding:14px 15px;border-radius:10px;background:#f5f8f6}.signup-account-summary>strong{display:block;color:#17304e;font-size:8pt}.signup-account-summary ul{margin:8px 0 0;padding-left:18px;color:#65737f;font-size:7.5pt;line-height:1.55}
@media(max-width:620px){.signup-expectation-grid{grid-template-columns:1fr}.certificate-requirement-grid{grid-template-columns:1fr 1fr 1fr}}

/* Checkpoint 28D — actionable full-library completion requirements */
.certificate-next-list{margin-top:1rem;border-top:1px solid rgba(18,47,72,.12);padding-top:.9rem;display:grid;gap:.55rem}.certificate-next-list>span{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#53687a}.certificate-next-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .75rem;align-items:center;padding:.72rem .8rem;border:1px solid rgba(18,47,72,.12);border-radius:.75rem;background:#fff;text-decoration:none;color:inherit}.certificate-next-item span{grid-column:1;font-size:.72rem;color:#66798a}.certificate-next-item strong{grid-column:1;font-size:.88rem;line-height:1.3}.certificate-next-item b{grid-column:2;grid-row:1/3;font-size:.76rem;color:var(--navy,#15344f)}.certificate-next-item:hover,.certificate-next-item:focus-visible{border-color:rgba(210,69,44,.35);box-shadow:0 6px 18px rgba(18,47,72,.08);transform:translateY(-1px)}.certificate-next-list small{color:#6d7f8e}

/* ==========================================================
   CHECKPOINT 28F — MY LEARNING VISIBILITY & LEGIBILITY PASS
   ========================================================== */
/* The global site h1 rule is white for dark hero banners. My Learning uses
   its welcome heading on a light surface, so the workspace must explicitly
   restore a readable brand-dark heading color. */
.learning-workspace-body .learning-workspace-header h1{
  color:#0b2545;
  text-shadow:none;
}
.learning-workspace-body .learning-workspace-header [data-learner-name]{
  color:#315f48;
}

/* Keep secondary dashboard text comfortably readable on white/light cards
   without changing the global palette or any Learn/Explore/Apply page. */
.learning-workspace-body .dashboard-panel-heading>p,
.learning-workspace-body .learning-stage-strip small,
.learning-workspace-body .skill-node-heading span,
.learning-workspace-body .skill-node small,
.learning-workspace-body .certificate-ring span,
.learning-workspace-body .certificate-panel small,
.learning-workspace-body .latest-activity-card small,
.learning-workspace-body .bookmark-card small,
.learning-workspace-body .completed-item-card span,
.learning-workspace-body .completed-item-card>small{
  color:#5f6e79;
}

/* Long provider display names should wrap naturally instead of colliding
   with the summary counters at narrower desktop widths. */
.learning-workspace-body .learning-workspace-header>div:first-child{
  min-width:0;
}
.learning-workspace-body .learning-workspace-header h1{
  overflow-wrap:anywhere;
}

/* Checkpoint 28M — one learner access page, two explicit intentions */
[data-auth-mode-panel][hidden]{display:none!important}
.auth-mode-switch-emphasis{margin-top:20px;padding:16px 14px;border:1px solid #d8e4dd;border-radius:11px;background:#f4f8f5;color:#526b5d}
.auth-mode-switch-emphasis a{color:#245c43}

/* Checkpoint 28R — explicit cross-links and pending learner registration */
.auth-trust-strip a{color:#245c43;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.auth-trust-strip a:hover,.auth-trust-strip a:focus-visible{color:#17304e}
.auth-provider-stack[hidden]{display:none!important}
.pending-registration-card{margin:18px 0 6px;padding:18px;border:1px solid #cfded5;border-radius:12px;background:#f4f8f5}
.pending-registration-card[hidden]{display:none!important}
.pending-registration-card h3{margin:3px 0 8px;color:#17304e;font-family:"Oswald",Arial,sans-serif;font-size:17pt;line-height:1.15}
.pending-registration-card p{margin:0;color:#5f6f7b;font-size:8pt;line-height:1.55;text-align:left}
.pending-registration-card p strong{color:#17304e;overflow-wrap:anywhere}
.pending-registration-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}
.pending-registration-actions button{cursor:pointer}
.pending-registration-actions .secondary-action{background:#fff}
@media(max-width:620px){.pending-registration-actions{display:grid;grid-template-columns:1fr}.pending-registration-actions .primary-action,.pending-registration-actions .secondary-action{width:100%;justify-content:center}}

/* ==========================================================
   CHECKPOINT 0C — ADAPTIVE MY LEARNING DASHBOARD LAYOUT
   ========================================================== */
/* Visibility preferences remove cards from layout flow. These state hooks
   let each remaining panel use the full available row instead of retaining
   the two-column proportions designed for a complete dashboard. */
.learning-workspace-grid[data-visible-panels="0"]{
  display:none;
}
.learning-workspace-grid[data-visible-panels="1"],
.learning-activity-grid[data-visible-panels="1"]{
  grid-template-columns:minmax(0,1fr);
}

/* When the certificate tracker is the only upper dashboard panel, its compact
   card becomes a balanced horizontal feature instead of a narrow card floating
   beside an empty column. Expanded requirements continue below at full width. */
.learning-workspace-grid[data-dashboard-layout="certificate-only"] .certificate-panel{
  display:grid;
  grid-template-columns:minmax(170px,220px) minmax(0,1fr);
  grid-template-areas:
    "ring kicker"
    "ring title"
    "ring copy"
    "ring action"
    "ring note"
    "details details";
  column-gap:34px;
  align-items:center;
  text-align:left;
}
.learning-workspace-grid[data-dashboard-layout="certificate-only"] .certificate-panel>.section-kicker{grid-area:kicker;align-self:end}
.learning-workspace-grid[data-dashboard-layout="certificate-only"] .certificate-panel>h2{grid-area:title;margin:4px 0 10px}
.learning-workspace-grid[data-dashboard-layout="certificate-only"] .certificate-ring{grid-area:ring;margin:0 auto}
.learning-workspace-grid[data-dashboard-layout="certificate-only"] .certificate-panel>p{grid-area:copy;margin:0;text-align:left}
.learning-workspace-grid[data-dashboard-layout="certificate-only"] .certificate-download{grid-area:action;justify-self:start;width:min(100%,420px);margin-top:14px}
.learning-workspace-grid[data-dashboard-layout="certificate-only"] .certificate-panel>small{grid-area:note;margin-top:10px;max-width:680px}
.learning-workspace-grid[data-dashboard-layout="certificate-only"] .certificate-requirements{grid-area:details;width:100%;margin-top:20px}
.learning-activity-grid[data-dashboard-layout="recent-only"] .recent-panel{min-width:0}

@media(max-width:760px){
  .learning-workspace-grid[data-dashboard-layout="certificate-only"] .certificate-panel{
    display:block;
    text-align:center;
  }
  .learning-workspace-grid[data-dashboard-layout="certificate-only"] .certificate-panel>h2{margin:4px 0 16px}
  .learning-workspace-grid[data-dashboard-layout="certificate-only"] .certificate-ring{margin:0 auto 16px}
  .learning-workspace-grid[data-dashboard-layout="certificate-only"] .certificate-panel>p{text-align:center}
  .learning-workspace-grid[data-dashboard-layout="certificate-only"] .certificate-download{width:100%;margin-top:8px}
  .learning-workspace-grid[data-dashboard-layout="certificate-only"] .certificate-requirements{margin-top:14px;text-align:left}
  .learning-workspace-grid[data-dashboard-layout="certificate-only"] .certificate-requirements p{text-align:left}
}

/* Auth-R01 P01a — LinkedIn official authentication brand asset */

/* ==========================================================
   Responsive-R01 P03 — My Learning & Account Fluid Layout Conversion
   Preservation lock: responsive mechanics only. Content, HTML, links,
   icons, auth/account semantics, dashboard logic and visual meaning remain
   unchanged. Existing structural media rules remain as compatibility guards.
   ========================================================== */

/* Let the account surfaces respond to the space their own shell actually has. */
.auth-entry-body{container-type:inline-size;container-name:auth-page}
.learning-workspace{container-type:inline-size;container-name:learning-workspace}
.account-page-shell{container-type:inline-size;container-name:account-shell}

/* Authentication shell: keep the established two-column composition while
   allowing the fixed right-column minimum, gap and card inset to contract
   smoothly before the existing stacked state is reached. */
.auth-entry-shell{
  grid-template-columns:minmax(0,1.08fr) minmax(clamp(20.5rem,32cqi,22.5rem),.72fr);
  gap:clamp(1.75rem,4cqi,3rem);
  padding-inline:clamp(1.0625rem,2.5cqi,1.75rem);
}
.auth-entry-card{padding:clamp(1.375rem,2.8cqi,1.875rem)}

/* My Learning: fluidise only rigid presentation measurements identified in
   A01. Panel order, card states and all dashboard behavior are preserved. */
.learning-workspace-header{gap:clamp(1.125rem,2.6cqi,1.875rem)}
.learning-header-stats{
  grid-template-columns:repeat(3,clamp(6rem,9cqi,6.5625rem));
  gap:clamp(.4rem,.75cqi,.5rem);
}
.learning-header-stats>div{
  padding:clamp(.5625rem,1.05cqi,.75rem) clamp(.5625rem,1.15cqi,.8125rem);
}
.learning-workspace-grid{
  grid-template-columns:minmax(0,1.65fr) minmax(clamp(16rem,24cqi,17.5rem),.72fr);
  gap:clamp(.875rem,1.7cqi,1.125rem);
}
.learning-activity-grid{gap:clamp(.875rem,1.7cqi,1.125rem)}
.skill-map{column-gap:clamp(1rem,2.6cqi,1.875rem)}
.resume-learning-hero{
  grid-template-columns:clamp(3.625rem,7cqi,5.125rem) minmax(0,1fr) auto;
  padding:clamp(1.375rem,2.4cqi,1.75rem) clamp(1.375rem,2.6cqi,1.875rem);
}
.resume-play{width:clamp(3.375rem,6.2cqi,4.5rem);height:clamp(3.375rem,6.2cqi,4.5rem)}

/* Profile and Settings: retain the current asymmetric two-column hierarchy,
   but allow the secondary minimum and card/session measurements to breathe. */
.account-card{padding:clamp(1.1875rem,2.1cqi,1.5rem)}
.profile-detail-grid,.settings-layout{
  grid-template-columns:minmax(0,1.1fr) minmax(clamp(17rem,30cqi,18.75rem),.9fr);
  gap:clamp(.875rem,2cqi,1.125rem);
}
.profile-avatar{width:clamp(3.75rem,7cqi,4.75rem);height:clamp(3.75rem,7cqi,4.75rem)}
.account-session-row{grid-template-columns:clamp(7.25rem,13cqi,8.125rem) minmax(0,1fr);gap:clamp(.5rem,1.4cqi,.875rem)}

/* Component-width transitions mirror the existing responsive structure while
   keying off the actual workspace width. Existing media rules remain intact as
   fallbacks and therefore no functional responsive behavior is removed. */
@container learning-workspace (max-width:53.5rem){
  .learning-workspace-grid,.learning-activity-grid{grid-template-columns:1fr}
  .learning-workspace-header{align-items:start;flex-direction:column}
  .learning-header-stats{width:100%;grid-template-columns:repeat(3,1fr)}
  .certificate-panel{max-width:none}
  .bookmark-card-grid,.completed-item-grid{grid-template-columns:1fr}
}
@container learning-workspace (max-width:36.5rem){
  .resume-learning-hero{grid-template-columns:3.625rem minmax(0,1fr);padding:1.375rem}
  .resume-play{width:3.375rem;height:3.375rem}
  .resume-status{grid-column:2}
  .learning-stage-strip,.skill-map{grid-template-columns:1fr}
  .learning-header-stats{grid-template-columns:repeat(3,1fr)}
  .learning-header-stats>div{padding:.5625rem}
  .dashboard-panel-heading{align-items:start;flex-direction:column}
}

@container account-shell (max-width:53.5rem){
  .profile-detail-grid,.settings-layout{grid-template-columns:1fr}
}
@container account-shell (max-width:36.5rem){
  .profile-identity-card{align-items:flex-start}
  .profile-avatar{width:3.75rem;height:3.75rem}
}
@container account-shell (max-width:32.5rem){
  .account-session-row{grid-template-columns:1fr;gap:.25rem}
  .account-card{padding:1.1875rem}
}

@container auth-page (max-width:56.25rem){
  .auth-entry-shell{grid-template-columns:1fr}
}
@container auth-page (max-width:38.75rem){
  .auth-entry-shell{padding:1.75rem 1.0625rem 3.4375rem}
  .auth-entry-card{padding:1.375rem}
}
