.dash-profile-popover-anchor{position:relative}.dash-profile-popover-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(49,52,75,.12);border:0}.dash-profile-popover-card{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1001;width:min(380px,calc(100vw - 24px));padding:var(--lp-card-padding);border-radius:var(--lp-card-radius);background:var(--neo-bg,var(--lp-bg));border:1px solid rgba(209,213,219,.45);box-shadow:var(--lp-neu-shadow);font-family:var(--lp-font-family);animation:dash-profile-popover-in .18s ease-out}@keyframes dash-profile-popover-in{0%{opacity:0;transform:translate(-50%,calc(-50% - 8px)) scale(.98)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.dash-profile-popover-close{position:absolute;right:12px;top:12px;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;border:0;cursor:pointer;color:var(--neo-muted,var(--lp-text-secondary));background:var(--neo-bg,var(--lp-bg));box-shadow:var(--lp-neu-shadow-sm)}.dash-profile-popover-close:hover{color:var(--neo-primary,var(--lp-primary))}.dash-profile-popover-body{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--lp-space-md)}.dash-profile-popover-avatar-outer{padding:6px;border-radius:50%;background:var(--neo-bg,var(--lp-bg));box-shadow:var(--lp-neu-shadow-sm)}.dash-profile-popover-avatar-inner{padding:5px;border-radius:50%;background:var(--neo-bg,var(--lp-bg));box-shadow:var(--lp-neu-inset-sm)}.dash-profile-popover-avatar-inner .h-24,.dash-profile-popover-avatar-inner .h-\[88px\],.dash-profile-popover-avatar-inner .sa-avatar,.dash-profile-popover-avatar-inner img{width:88px!important;height:88px!important;border-radius:50%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top}.dash-profile-popover-name{margin:0;font-size:var(--lp-h4-size);font-weight:var(--lp-h3-weight);line-height:var(--lp-h4-lh);color:var(--neo-text,var(--lp-text-primary))}.dash-profile-popover-role{margin:-8px 0 0;font-size:var(--lp-body-size);line-height:var(--lp-body-lh);color:var(--neo-muted,var(--lp-text-secondary))}.dash-profile-popover-email{margin:-4px 0 0;font-size:var(--lp-small-size);line-height:var(--lp-small-lh);color:var(--neo-muted,var(--lp-text-secondary));word-break:break-word}.dash-profile-popover-actions{display:flex;flex-direction:column;gap:var(--lp-space-sm);width:100%;margin-top:var(--lp-space-xs)}.dash-profile-popover-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:var(--lp-btn-height);padding:0 var(--lp-btn-padding-x);border:none;border-radius:var(--lp-btn-radius);font-family:inherit;font-size:var(--lp-btn-size);font-weight:var(--lp-btn-weight);line-height:var(--lp-btn-lh);text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.dash-profile-popover-btn--primary{color:#fff;background:var(--neo-primary,var(--lp-primary));box-shadow:var(--lp-neu-shadow-sm)}.dash-profile-popover-btn--primary:hover{opacity:.95;transform:translateY(-1px);box-shadow:var(--lp-neu-shadow-hover)}.dash-profile-popover-btn--secondary{color:var(--neo-text,var(--lp-text-primary));background:var(--neo-bg,var(--lp-bg));box-shadow:var(--lp-neu-shadow-sm)}.dash-profile-popover-btn--secondary:hover{transform:translateY(-1px);box-shadow:var(--lp-neu-shadow-hover)}.dash-profile-popover-btn--cancel{color:var(--neo-muted,var(--lp-text-secondary));background:var(--neo-bg,var(--lp-bg));box-shadow:var(--lp-neu-inset-sm)}@media (max-width:479px){.dash-profile-popover-card{padding:16px}}.sa-dashboard--portal{background:var(--lp-bg);font-family:var(--lp-font-family);min-height:100vh}.sa-dashboard--portal .sa-dashboard__grid{gap:var(--lp-gutter)}@media (min-width:1024px){.sa-dashboard--portal .sa-dashboard__grid{grid-template-columns:var(--lp-sidebar-width) 1fr}}.sa-dashboard--portal .sa-sidebar{border-radius:var(--lp-card-radius)}.sa-dashboard--portal .sa-sidebar,.sa-dashboard--portal .sa-topbar{background:var(--lp-bg);box-shadow:var(--lp-neu-shadow);border:1px solid rgba(209,213,219,.35)}.sa-dashboard--portal .sa-topbar{display:flex;flex-direction:column;gap:var(--lp-space-md);padding:var(--lp-space-md) var(--lp-card-padding)}@media (min-width:768px){.sa-dashboard--portal .sa-topbar{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}}.sa-dashboard--portal .sa-topbar__row{display:flex;width:100%;flex-wrap:wrap;align-items:center;gap:var(--lp-space-sm)}@media (min-width:768px){.sa-dashboard--portal .sa-topbar__row{flex:1;justify-content:flex-end}}.sa-dashboard--portal .sa-topbar__search{flex:1 1 100%;min-width:0;display:flex;align-items:center;gap:var(--lp-space-sm);padding:.65rem 1rem;max-width:none}@media (min-width:768px){.sa-dashboard--portal .sa-topbar__search{flex:1 1 280px;max-width:480px}}.sa-dashboard--portal .sa-topbar__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--lp-space-sm);flex-shrink:0}.sa-dashboard--portal .sa-topbar-icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:var(--lp-btn-radius);border:none;cursor:pointer;color:var(--lp-primary);background:var(--lp-bg)}.sa-dashboard--portal .sa-topbar-profile-btn{display:flex;align-items:center;gap:.5rem;border:none;cursor:pointer;padding:.25rem .5rem .25rem .25rem;border-radius:999px;background:var(--lp-bg);box-shadow:var(--lp-neu-shadow-sm);max-width:min(240px,40vw)}.sa-dashboard--portal .sa-topbar-profile-btn:hover{box-shadow:var(--lp-neu-shadow-hover)}.sa-dashboard--portal .sa-topbar-profile-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;overflow:hidden;border-radius:50%}.sa-dashboard--portal .sa-topbar-profile-avatar .sa-avatar-ring{padding:2px}.sa-dashboard--portal .sa-topbar-profile-avatar .h-10,.sa-dashboard--portal .sa-topbar-profile-avatar .h-\[88px\],.sa-dashboard--portal .sa-topbar-profile-avatar img{width:32px!important;height:32px!important;min-width:32px;min-height:32px}.sa-dashboard--portal .sa-topbar-profile-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0;text-align:left}.sa-dashboard--portal .sa-topbar-profile-name{font-size:var(--lp-small-size);font-weight:600;line-height:1.2;color:var(--lp-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.sa-dashboard--portal .sa-topbar-profile-email{font-size:11px;line-height:1.2;color:var(--lp-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.portal-dash{display:flex;flex-direction:column;gap:var(--lp-gutter)}.portal-dash__hero{position:relative;overflow:hidden;padding:var(--lp-card-padding);border-radius:var(--lp-card-radius);background:var(--lp-bg);box-shadow:var(--lp-neu-shadow);border:1px solid rgba(209,213,219,.35)}.portal-dash__hero-accent{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--portal-accent,var(--lp-primary)),transparent)}.portal-dash__eyebrow{margin:0;font-size:var(--lp-small-size);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--lp-text-secondary)}.portal-dash__title{margin:var(--lp-space-sm) 0 0;font-size:var(--lp-h2-size);font-weight:var(--lp-h2-weight);line-height:var(--lp-h2-lh);color:var(--lp-text-primary)}.portal-dash__subtitle{margin:var(--lp-space-sm) 0 0;max-width:42rem;font-size:var(--lp-body-size);line-height:var(--lp-body-lh);color:var(--lp-text-secondary)}.portal-dash__role-chip{display:inline-flex;align-items:center;margin-top:var(--lp-space-md);padding:.35rem .85rem;border-radius:999px;font-size:var(--lp-small-size);font-weight:600;color:var(--portal-accent,var(--lp-primary));background:var(--lp-bg);box-shadow:var(--lp-neu-inset-sm)}.portal-dash__section-title{margin:0 0 var(--lp-space-md);font-size:var(--lp-h3-size);font-weight:var(--lp-h3-weight);color:var(--lp-text-primary)}.portal-dash__grid-2{display:grid;gap:var(--lp-gutter);grid-template-columns:1fr}@media (min-width:768px){.portal-dash__grid-2{grid-template-columns:repeat(2,1fr)}}.portal-dash__grid-4{display:grid;gap:var(--lp-gutter);grid-template-columns:1fr}@media (min-width:640px){.portal-dash__grid-4{grid-template-columns:repeat(2,1fr)}}@media (min-width:1280px){.portal-dash__grid-4{grid-template-columns:repeat(4,1fr)}}.portal-dash__card{padding:var(--lp-card-padding);border-radius:var(--lp-card-radius);background:var(--lp-bg);box-shadow:var(--lp-neu-shadow);border:1px solid rgba(209,213,219,.35);transition:transform .2s ease,box-shadow .2s ease}.portal-dash__card:hover{transform:translateY(-2px);box-shadow:var(--lp-neu-shadow-hover)}.portal-dash__card-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;color:var(--portal-accent,var(--lp-primary));background:var(--lp-bg);box-shadow:var(--lp-neu-inset-sm)}.portal-dash__card-label{margin:0;font-size:var(--lp-small-size);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--lp-text-secondary)}.portal-dash__card-value{margin:var(--lp-space-xs) 0 0;font-size:var(--lp-h2-size);font-weight:var(--lp-h2-weight);line-height:1.1;color:var(--lp-text-primary)}.portal-dash__card-hint{display:inline-block;margin-top:var(--lp-space-sm);padding:.2rem .55rem;border-radius:8px;font-size:var(--lp-small-size);font-weight:600;color:var(--lp-success);background:var(--lp-bg);box-shadow:var(--lp-neu-inset-sm)}.portal-dash__panel{padding:var(--lp-card-padding);border-radius:var(--lp-card-radius);background:var(--lp-bg);box-shadow:var(--lp-neu-inset);border:1px solid rgba(209,213,219,.25)}.portal-dash__link{display:block;padding:var(--lp-space-md);border-radius:12px;font-size:var(--lp-body-size);font-weight:600;color:var(--lp-text-primary);text-decoration:none;background:var(--lp-bg);box-shadow:var(--lp-neu-shadow-sm);transition:transform .15s ease,box-shadow .15s ease}.portal-dash__link:hover{transform:translateY(-1px);box-shadow:var(--lp-neu-shadow-hover);color:var(--lp-primary)}html[data-member-role=student] .sa-dashboard--portal{--portal-accent:#0d9488}html[data-member-role=faculty] .sa-dashboard--portal{--portal-accent:#c2410c}html[data-member-role=coordinator] .sa-dashboard--portal{--portal-accent:#5b21b6}html[data-ia-portal=true] .sa-dashboard--portal{--portal-accent:var(--lp-primary)}