.portal-columns { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:18px; align-items:start; }
.portal-form { margin-bottom:18px; }
.portal-form h2, .portal-subform h3 { margin-top:0; }
.portal-subform { border-top:1px solid #dbe4ef; margin-top:20px; padding-top:20px; }
.qualification-list { display:grid; gap:10px; }
.qualification-card { border:1px solid #dbe4ef; border-radius:12px; padding:14px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.qualification-card div:first-child { display:grid; gap:4px; }
.qualification-card small { color:#66758d; }
.resource-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:18px; }
.resource-card { display:flex; flex-direction:column; justify-content:space-between; gap:18px; min-height:220px; }
.resource-card h2 { margin:14px 0 8px; }
.resource-actions { display:flex; gap:9px; align-items:center; flex-wrap:wrap; }
.resource-actions a { text-decoration:none; }
.danger-link { background:transparent; border:0; color:#b42318; font-weight:700; padding:8px; cursor:pointer; }
.quick-learner-form { border-top:1px solid #dbe4ef; margin-top:20px; padding-top:20px; }
.enrollment-row.cancelled { opacity:.55; }
.form-message { min-height:20px; }
.form-message.success { color:#087a55; }
@media (max-width:900px) { .portal-columns,.resource-grid { grid-template-columns:1fr; } }
