/* ============================================================
   My Learning
   ============================================================ */
.course-list{display:grid;gap:.75rem}
.crow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1.5rem;align-items:center;
  background:#fff;border:1px solid var(--gray-200);border-radius:var(--r-lg);padding:1.15rem 1.25rem}
.crow:hover{border-color:var(--gray-300);box-shadow:var(--shadow)}
.crow__main{display:grid;gap:.45rem;min-width:0}
.crow__title{font-family:var(--ff-display);font-weight:700;font-size:1.15rem;letter-spacing:-.02em;line-height:1.2;color:var(--ink)}
.crow__meta{display:flex;flex-wrap:wrap;gap:.25rem 1rem;font-size:.88rem;color:var(--gray-600)}
.crow__prog{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;max-width:460px}
.crow__pct{font-family:var(--ff-mono);font-size:.8rem;font-weight:600;color:var(--blue-700);font-variant-numeric:tabular-nums}
@media (max-width:600px){.crow{grid-template-columns:1fr}.crow .btn{width:100%}}

.mini-list{display:grid;gap:0;background:#fff;border:1px solid var(--gray-200);border-radius:var(--r-lg)}
.mini{display:flex;gap:1rem;align-items:center;padding:.9rem 1.25rem;border-bottom:1px solid var(--gray-100)}
.mini:last-child{border-bottom:0}
.mini__badge{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--ok-100);color:var(--ok);flex:none}
.mini__txt{min-width:0;flex:1}
.mini__txt strong{display:block;line-height:1.3}
.mini__txt span{font-size:.85rem;color:var(--gray-600)}

.two-col{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:2rem;align-items:start}
@media (max-width:960px){.two-col{grid-template-columns:1fr}}

/* ============================================================
   Catalog
   ============================================================ */
.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.filters{display:flex;flex-wrap:wrap;gap:.4rem}
.filters button{font:inherit;font-size:.9rem;font-weight:500;padding:.5rem .95rem;min-height:40px;border-radius:999px;
  border:1px solid var(--gray-300);background:#fff;color:var(--ink);cursor:pointer}
.filters button:hover{border-color:var(--ink)}
.filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.search{position:relative;margin-left:auto;flex:0 1 300px}
.search .ico{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:var(--gray-500)}
.search input{width:100%;min-height:44px;padding:.6rem 1rem .6rem 2.6rem;font:inherit;font-size:.95rem;border:1px solid var(--gray-300);border-radius:999px;background:#fff}
.search input:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(23,153,206,.15)}
@media (max-width:700px){.search{flex-basis:100%;margin-left:0;order:-1}}

.cgroup{display:grid;gap:1rem}
.cgrid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.course-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--gray-200);border-radius:var(--r-lg);
  transition:transform var(--t),box-shadow var(--t),border-color var(--t);min-width:0}
.course-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--gray-300)}
.course-card__top{padding:1.25rem 1.25rem 0;position:relative;display:grid;gap:.45rem}
.course-card__top::after{content:"";position:absolute;top:1.4rem;right:1.25rem;width:.55rem;height:.55rem;transform:rotate(45deg);background:var(--amber);border-radius:2px}
.course-card h3{font-size:1.1rem;padding-right:1.25rem;line-height:1.2}
.course-card h3 a{color:var(--ink)}
.course-card__body{padding:.6rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.9rem;flex:1}
.course-card__body p{font-size:.9rem;color:var(--gray-700);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.course-card__prog{display:grid;gap:.35rem}
.course-card__prog span{font-size:.82rem;color:var(--gray-600)}
.course-card__foot{margin-top:auto;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.course-card__foot .btn{flex:1}
.course-card__admin{display:flex;gap:.9rem;padding:.6rem 1.25rem;border-top:1px dashed var(--gray-200);font-size:.82rem}
.course-card__admin a{color:var(--gray-600)}
.course-card--done .course-card__top::after{background:var(--ok)}
.course-card--going .course-card__top::after{background:var(--blue)}
/* catalog: courses outside the learner's plan */
.cgroup--locked .sec__hdr h2{display:inline-flex;align-items:center;gap:.45rem;color:var(--gray-700)}
.cgroup--locked>.muted{margin:-.25rem 0 1rem;font-size:.95rem}
.course-card--locked{background:var(--paper);box-shadow:none}
.course-card--locked:hover{transform:none;box-shadow:none;border-color:var(--gray-200)}
.course-card--locked .course-card__top::after{background:var(--gray-300)}
.course-card--locked h3 a,.course-card--locked .course-card__body p{color:var(--gray-600)}
.course-card--locked .chip .ico{width:13px;height:13px;margin-right:.2rem;vertical-align:-2px}

/* ============================================================
   Certificates
   ============================================================ */
.cert-score{font-family:var(--ff-mono);font-weight:600;font-variant-numeric:tabular-nums}
.cert-no{font-family:var(--ff-mono);font-size:.85rem;color:var(--gray-600);font-variant-numeric:tabular-nums}
@media (max-width:700px){
  .tbl--stack thead{display:none}
  .tbl--stack tr{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;padding:1rem;border-bottom:1px solid var(--gray-100)}
  .tbl--stack tr:last-child{border-bottom:0}
  .tbl--stack td{padding:0;border:0}
  .tbl--stack td:first-child{grid-column:1/-1;font-size:1rem}
  .tbl--stack td[data-l]::before{content:attr(data-l) " ";font-family:var(--ff-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-500)}
  .tbl--stack td.act{grid-column:1/-1;text-align:left;margin-top:.5rem}
  .tbl--stack td.act .btn{width:100%}
}
