/* Shared portal categories; the supplied CalisoftProjects artwork is retained. */
html{scroll-padding-top:24px}
body.portal-hub .skip-link{position:absolute;top:8px;left:8px;z-index:1000;padding:12px;background:#fff;transform:translateY(-150%)}
body.portal-hub .skip-link:focus{transform:none}
body.portal-hub a:focus-visible,body.portal-hub button:focus-visible{outline:3px solid #2563eb;outline-offset:4px}
body.portal-hub .site-header nav{flex-wrap:wrap;justify-content:flex-end}
body.portal-hub .site-header nav a{min-height:44px;display:inline-flex;align-items:center;box-sizing:border-box}
body.portal-hub .hero{padding:64px 0 48px;gap:44px}
body.portal-hub .hero h1{font-size:clamp(2.6rem,5.6vw,4.5rem);line-height:1.04}
body.portal-hub .hero-panel>strong{display:block;line-height:1.3;font-size:1.6rem}
body.portal-hub .section-nav{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 28px;border-bottom:1px solid var(--home-border)}
body.portal-hub .section-nav a{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid var(--home-border);border-radius:999px;background:#fff;color:#334155;font-weight:650;font-size:.85rem;text-decoration:none}
body.portal-hub .section-nav a:hover{background:#eff6ff;border-color:#bfdbfe}
body.portal-hub .section-nav span{color:#2563eb;font-size:.75rem;font-variant-numeric:tabular-nums}
body.portal-hub .hub-section,body.portal-hub .admin-hub-section{padding:42px 0 30px;scroll-margin-top:24px}
body.portal-hub .project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:20px}
body.portal-hub .project-card{min-height:260px;padding:26px;box-sizing:border-box;min-width:0}
body.portal-hub .project-card h3{font-size:1.45rem;line-height:1.2;margin-top:1.2rem}
body.portal-hub .project-card>p{max-width:100%}
body.portal-hub .project-top{gap:12px;flex-wrap:wrap}
body.portal-hub .app-icon{width:48px;height:48px;border-radius:12px;object-fit:contain;display:block}
body.portal-hub .project-meta{font-size:.76rem;color:#626e80}
body.portal-hub .admin-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px}
body.portal-hub .admin-hub-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:22px;border:1px solid #d9e3f4;border-radius:16px;background:#fff;color:#172033;text-decoration:none;min-width:0}
body.portal-hub .admin-hub-card strong{line-height:1.4;font-size:1rem}
body.portal-hub .admin-hub-card p{color:#667085;font-size:.85rem;line-height:1.6;margin:0}
body.portal-hub .admin-hub-card .text-link{margin-top:auto}
body.portal-hub .admin-hub-card:hover{border-color:#93b4f1;background:#fcfdff}
body.portal-hub .account-notice{font-size:.85rem;margin-top:18px}
body.portal-hub .admin-detail{padding:48px 0;min-height:65vh}
body.portal-hub .admin-detail h1{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.2;letter-spacing:-.035em;margin:16px 0}
body.portal-hub .detail-card{background:#fff;border:1px solid var(--home-border);border-radius:16px;padding:24px;margin:22px 0}
body.portal-hub .detail-card h2{font-size:1.2rem}
body.portal-hub .detail-card p,body.portal-hub .detail-card li{color:#526071;line-height:1.7}
body.portal-hub .detail-card ul{padding-left:20px}
body.portal-hub .detail-card li{margin:10px 0}
body.portal-hub .status-pending{color:#8c5819;background:#fff6e8;border:1px solid #f4dfbb}
body.portal-hub .stats-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
body.portal-hub .updates-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
body.portal-hub .catalog-link{margin-top:18px}
body.portal-hub footer a{color:#526071}
@media(max-width:600px){
  body.portal-hub .hero{grid-template-columns:minmax(0,1fr);padding:36px 0;gap:26px}
  body.portal-hub .hero h1{font-size:2.7rem}
  body.portal-hub .section-heading{display:block}
  body.portal-hub .section-heading p{margin:10px 0 0}
  body.portal-hub .project-grid{grid-template-columns:minmax(0,1fr)}
  body.portal-hub .admin-hub-grid{grid-template-columns:minmax(0,1fr)}
  body.portal-hub .site-header{gap:8px}
  body.portal-hub .site-header nav{gap:0}
  body.portal-hub .site-header nav a{font-size:.8rem;padding:.5rem}
  body.portal-hub .hero-actions{flex-wrap:wrap}
  body.portal-hub .section-nav a{padding:0 12px}
  body.portal-hub footer{gap:14px;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){body.portal-hub *{scroll-behavior:auto;transition:none}}

/* Widget protegido de consumo de Actions; la API revalida el rol central. */
.actions-meter-card{margin:1rem 0;padding:1.25rem;border:1px solid #cbd5e1;border-radius:14px;background:#fff;color:#172033}
.actions-meter-card .actions-meter-value{font-size:2rem;display:block;font-variant-numeric:tabular-nums;margin:.35rem 0}
.actions-meter-card p{margin:.4rem 0}
.actions-meter-card .actions-meter-meta{font-size:.85rem;color:#475569}
.actions-meter-card .actions-meter-repos{font-size:.9rem;overflow-wrap:anywhere}
