/* Extracted from hub-v2/hub.css. Source cascade order retained within this responsibility. */
/* One visual footer for public/authenticated routes in the migrated batch. */
.rpa-ui .hub-footer { flex-shrink:0;border-top:1px solid var(--hub-line);background:var(--rpa-color-surface);color:var(--hub-muted); }
.rpa-ui .hub-footer-inner { width:100%;max-width:1480px;margin-inline:auto;padding:24px 40px;display:flex;align-items:center;gap:24px; }
.rpa-ui .hub-footer-brand { display:flex;flex-shrink:0;align-items:center;min-height:44px; }
.rpa-ui .hub-footer-brand img { display:block;width:96px;height:44px;object-fit:contain; }
.rpa-ui .hub-footer-copyright { margin:0;font-size:11px;line-height:1.7;color:var(--hub-muted); }
.rpa-ui .hub-footer-legal { display:flex;flex-wrap:wrap;gap:8px 20px;margin-left:auto; }
.rpa-ui .hub-footer-legal a { display:inline-flex;align-items:center;min-height:44px;font-size:11px;line-height:1.5;color:var(--hub-muted);text-decoration:none; }
.rpa-ui .hub-footer-legal a:hover { color:var(--hub-green);text-decoration:underline; }
.rpa-ui .hub-footer-preview { max-width:1480px;margin:0 auto;padding:0 40px 18px;font-size:10px;line-height:1.7;color:var(--hub-muted); }
@media(min-width:1600px) { .rpa-ui.rpa-layout-authenticated .hub-footer-inner { padding-inline:55px; } }
@media(min-width:901px) and (max-width:1180px) { .rpa-ui.rpa-layout-authenticated .hub-footer-inner { padding-inline:27px; } }
@media(min-width:601px) and (max-width:900px) { .rpa-ui.rpa-layout-authenticated .hub-footer-inner { padding-inline:26px; } }
@media(max-width:600px) {
  .rpa-ui .hub-footer-inner { padding:24px 18px;flex-wrap:wrap;gap:12px 18px; }
  .rpa-ui .hub-footer-copyright { flex:1;min-width:160px; }
  .rpa-ui .hub-footer-legal { width:100%;margin-left:0;gap:8px 18px; }
  .rpa-ui .hub-footer-preview { padding-inline:18px; }
}
.rpa-ui .rpa-icon { display:inline-block;flex-shrink:0;line-height:1;vertical-align:-.08em; }
.rpa-ui .hub-button { display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:44px;padding:11px 17px;border-radius:var(--rpa-radius-button);background:var(--rpa-color-accent);color:var(--rpa-color-bg);font-size:11px;font-weight:750;border:0; }
.rpa-ui .hub-button:hover { background:var(--rpa-color-button-hover);color:var(--rpa-color-bg); }
.rpa-ui .hub-course { border:1px solid var(--rpa-color-border);background:var(--rpa-color-neutral-161616);border-radius:var(--rpa-radius-card);overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:border-color .15s; }
.rpa-ui .hub-course:hover { border-color:var(--rpa-color-neutral-666); }
.rpa-ui .hub-cover { display:block;background:var(--rpa-color-neutral-202020);overflow:hidden; }
.rpa-ui .hub-cover img { width:100%;height:auto;aspect-ratio:1.65;object-fit:cover; }
.rpa-ui .hub-cover-fallback { aspect-ratio:1.65;display:flex;align-items:center;justify-content:center;padding:20px;font-family:var(--rpa-font-display);font-size:24px;color:var(--rpa-color-neutral-ddd); }
.rpa-ui .hub-course-body { padding:21px 20px 0;display:flex;flex-direction:column;flex:1; }
.rpa-ui .hub-course h3 { font-size:20px;margin:8px 0 10px; }
.rpa-ui .hub-rich { color:var(--rpa-color-neutral-aaa);font-size:11px;line-height:1.75;overflow-wrap:anywhere; }
.rpa-ui .hub-rich p { margin:0 0 8px; }
.rpa-ui .hub-rich a { color:var(--rpa-color-accent);text-decoration:underline; }
.rpa-ui .hub-card-link { display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--rpa-color-border);min-height:53px;font-size:11px;font-weight:650;color:var(--rpa-color-neutral-e8e8e8);margin-top:auto;padding:13px 0; }
.rpa-ui .hub-course .hub-rich { margin-bottom:18px; }
.rpa-ui .hub-card-link>span { color:var(--rpa-color-accent);font-size:20px; }
.rpa-ui .hub-panel { border:1px solid var(--rpa-color-border);border-radius:var(--rpa-radius-card);background:var(--rpa-color-surface);padding:23px;overflow:hidden; }
.rpa-ui .hub-panel h2 { font-size:19px; }
.rpa-ui .hub-empty { font-size:12px;color:var(--rpa-color-neutral-aaa);padding:22px 0; }
.rpa-ui .hub-image-failed { display:none!important; }
.rpa-ui .hub-image-fallback { display:flex;align-items:center;justify-content:center;min-height:120px;padding:25px;color:var(--rpa-color-neutral-bdbdbd);font-family:var(--rpa-font-display); }
@media(min-width:1600px) {
  .rpa-ui .hub-course h3 { font-size:23px; }
  .rpa-ui .hub-rich { font-size:12px; }
}
@media(max-width:1180px) {
  .rpa-ui .hub-course-body { padding:18px 16px 0; }
  .rpa-ui .hub-course h3 { font-size:18px; }
}
@media(max-width:600px) {
  .rpa-ui .hub-button { font-size:12px;min-height:46px; }
  .rpa-ui .hub-cover img { aspect-ratio:1.65;object-fit:contain; }
  .rpa-ui .hub-course-body { padding:15px 13px 0; }
  .rpa-ui .hub-course h3 { font-size:21px;margin-top:7px; }
  .rpa-ui .hub-course .hub-rich { font-size:13px;line-height:1.65;margin-bottom:14px; }
  .rpa-ui .hub-card-link { font-size:12px;min-height:50px;gap:8px; }
  .rpa-ui .hub-panel { padding:20px; }
  .rpa-ui .hub-panel h2 { font-size:19px; }
}
@media(max-width:360px) {
  .rpa-ui .hub-cover img { aspect-ratio:1.65; }
  .rpa-ui .hub-course .hub-rich { font-size:12px; }
  .rpa-ui .hub-course h3 { font-size:21px; }
  .rpa-ui .hub-card-link { font-size:12px; }
}
.rpa-ui .hub-cover img { width:100%;height:auto;aspect-ratio:auto;object-fit:contain; }
.rpa-ui .hub-course .hub-card-link { border:0;border-radius:var(--rpa-radius-sm);background:var(--hub-green);color:var(--rpa-color-action-text);padding:11px 15px;min-height:48px;margin:auto 0 18px;font-size:12px; }
.rpa-ui .hub-course .hub-card-link:hover { background:var(--rpa-color-accent-hover);color:var(--rpa-color-action-text); }
.rpa-ui .hub-course .hub-card-link>span { color:inherit; }
.rpa-ui .hub-course .hub-rich { margin-bottom:19px; }
.rpa-ui .hub-disclosure-label { display:inline-flex;align-items:center;gap:10px;color:var(--hub-green);font-size:11px;font-weight:500; }
.rpa-ui .hub-disclosure-label>span { display:inline-block;font-size:18px;line-height:1; }
.rpa-ui details[open]>summary .hub-disclosure-label>span { transform:rotate(180deg); }
@media(max-width:600px) {
  .rpa-ui .hub-cover img { height:auto;aspect-ratio:auto;object-fit:contain; }
  .rpa-ui .hub-course-body { padding:19px 18px 0; }
  .rpa-ui .hub-course .hub-card-link { font-size:13px;min-height:49px; }
  .rpa-ui .hub-course .hub-rich { font-size:13px; }
  .rpa-ui .hub-panel { padding:18px; }
}

/* Product CTAs only. Plain hub-card-link article links keep their original presentation.
   Visual state is not authorization; controllers/ACL remain authoritative. */
.rpa-ui .hub-access-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 48px;
  padding: 11px 15px;
  border: 0;
  border-radius: var(--rpa-radius-sm);
}
.rpa-ui .hub-access-action--available,
.rpa-ui .hub-course .hub-access-action--available,
.rpa-ui [data-hub-access="available"] .hub-card-link.hub-access-action {
  background: var(--rpa-color-accent);
  color: var(--rpa-color-action-text);
}
.rpa-ui .hub-access-action--available:hover,
.rpa-ui .hub-course .hub-access-action--available:hover,
.rpa-ui [data-hub-access="available"] .hub-card-link.hub-access-action:hover {
  background: var(--rpa-color-accent-hover);
  color: var(--rpa-color-action-text);
}
.rpa-ui .hub-access-action--locked,
.rpa-ui .hub-course .hub-access-action--locked,
.rpa-ui [data-hub-access="locked"] .hub-card-link.hub-access-action {
  background: var(--rpa-color-text);
  color: var(--rpa-color-action-text);
}
.rpa-ui .hub-access-action--locked:hover,
.rpa-ui .hub-course .hub-access-action--locked:hover,
.rpa-ui [data-hub-access="locked"] .hub-card-link.hub-access-action:hover {
  background: var(--rpa-color-neutral-e8e8e8);
  color: var(--rpa-color-action-text);
}
.rpa-ui .hub-access-action > span { color: inherit; }
