@keyframes dashboard-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dashboard-stagger{animation:.45s cubic-bezier(.16,1,.3,1) both dashboard-fade-up}@media (prefers-reduced-motion:reduce){.dashboard-stagger{animation:none}}.dashboard-accent-institution{background:#e1a03512;background:lab(70.8816% 18.4726 62.0335/.07)}.dashboard-accent-institution .dashboard-accent-bar{background:#e1a035;background:lab(70.8816% 18.4726 62.0335)}.dark .dashboard-accent-institution{background:#bf81000f;background:lab(59.2291% 19.3453 66.8781/.06)}.dark .dashboard-accent-institution .dashboard-accent-bar{background:#bf8100;background:lab(59.2291% 19.3453 66.8781)}.dashboard-accent-department{background:#11a68b12;background:lab(60.9517% -42.2454 3.65248/.07)}.dashboard-accent-department .dashboard-accent-bar{background:#11a68b;background:lab(60.9517% -42.2454 3.65248)}.dark .dashboard-accent-department{background:#00856e0f;background:lab(49.3508% -42.6389 3.66384/.06)}.dark .dashboard-accent-department .dashboard-accent-bar{background:#00856e;background:lab(49.3508% -42.6389 3.66384)}.dashboard-accent-course{background:#7c60db12;background:lab(48.5954% 33.9694 -60.2635/.07)}.dashboard-accent-course .dashboard-accent-bar{background:#7c60db;background:lab(48.5954% 33.9694 -60.2635)}.dark .dashboard-accent-course{background:#6647c00f;background:lab(39.1159% 36.0735 -60.1167/.06)}.dark .dashboard-accent-course .dashboard-accent-bar{background:#6647c0;background:lab(39.1159% 36.0735 -60.1167)}.dashboard-accent-section{background:#e1466012;background:lab(53.8102% 61.5306 21.2853/.07)}.dashboard-accent-section .dashboard-accent-bar{background:#e14660;background:lab(53.8102% 61.5306 21.2853)}.dark .dashboard-accent-section{background:#e146600f;background:lab(53.8102% 61.5306 21.2853/.06)}.dark .dashboard-accent-section .dashboard-accent-bar{background:#bd1f44;background:lab(42.1977% 61.4603 21.8827)}.dashboard-accent-assignment{background:#3665e412;background:lab(45.4587% 19.4684 -70.6048/.07)}.dashboard-accent-assignment .dashboard-accent-bar{background:#3665e4;background:lab(45.4587% 19.4684 -70.6048)}.dark .dashboard-accent-assignment{background:#1c45c20f;background:lab(33.4296% 25.4597 -70.528/.06)}.dark .dashboard-accent-assignment .dashboard-accent-bar{background:#1c45c2;background:lab(33.4296% 25.4597 -70.528)}.qa-grid--dashboard{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.dashboard-stats-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:.75rem;display:grid}.dashboard-membership-sections-grid{gap:1rem;display:grid}@media (min-width:1536px){.dashboard-membership-sections-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.dashboard-membership-section{border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:var(--card);padding:1rem}.dashboard-membership-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),360px));justify-content:start;gap:.5rem;display:grid}.dashboard-membership-card{background:var(--card)}.dashboard-membership-card .dashboard-accent-bar{opacity:.28}.dashboard-membership-card.dashboard-accent-institution{background:linear-gradient(180deg, #e1a0350b, transparent 60%), var(--card)}@supports (color:lab(0% 0 0)){.dashboard-membership-card.dashboard-accent-institution{background:linear-gradient(180deg, lab(70.8816% 18.4726 62.0335/.045), transparent 60%), var(--card)}}.dashboard-membership-card.dashboard-accent-department{background:linear-gradient(180deg, #11a68b0b, transparent 60%), var(--card)}@supports (color:lab(0% 0 0)){.dashboard-membership-card.dashboard-accent-department{background:linear-gradient(180deg, lab(60.9517% -42.2454 3.65248/.045), transparent 60%), var(--card)}}.dashboard-membership-card.dashboard-accent-course{background:linear-gradient(180deg, #7c60db0b, transparent 60%), var(--card)}@supports (color:lab(0% 0 0)){.dashboard-membership-card.dashboard-accent-course{background:linear-gradient(180deg, lab(48.5954% 33.9694 -60.2635/.045), transparent 60%), var(--card)}}.dashboard-membership-card.dashboard-accent-section{background:linear-gradient(180deg, #e146600b, transparent 60%), var(--card)}@supports (color:lab(0% 0 0)){.dashboard-membership-card.dashboard-accent-section{background:linear-gradient(180deg, lab(53.8102% 61.5306 21.2853/.045), transparent 60%), var(--card)}}.dark .dashboard-membership-card.dashboard-accent-institution{background:linear-gradient(180deg, #bf81001a, transparent 62%), var(--card)}@supports (color:lab(0% 0 0)){.dark .dashboard-membership-card.dashboard-accent-institution{background:linear-gradient(180deg, lab(59.2291% 19.3453 66.8781/.1), transparent 62%), var(--card)}}.dark .dashboard-membership-card.dashboard-accent-department{background:linear-gradient(180deg, #00856e1a, transparent 62%), var(--card)}@supports (color:lab(0% 0 0)){.dark .dashboard-membership-card.dashboard-accent-department{background:linear-gradient(180deg, lab(49.3508% -42.6389 3.66384/.1), transparent 62%), var(--card)}}.dark .dashboard-membership-card.dashboard-accent-course{background:linear-gradient(180deg, #6647c01a, transparent 62%), var(--card)}@supports (color:lab(0% 0 0)){.dark .dashboard-membership-card.dashboard-accent-course{background:linear-gradient(180deg, lab(39.1159% 36.0735 -60.1167/.1), transparent 62%), var(--card)}}.dark .dashboard-membership-card.dashboard-accent-section{background:linear-gradient(180deg, #bd1f441a, transparent 62%), var(--card)}@supports (color:lab(0% 0 0)){.dark .dashboard-membership-card.dashboard-accent-section{background:linear-gradient(180deg, lab(42.1977% 61.4603 21.8827/.1), transparent 62%), var(--card)}}.dashboard-activity-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:hidden}.dashboard-activity-header{border-bottom:1px solid var(--border);background:#00000004;background:lab(0% 0 0/.015);align-items:center;gap:12px;padding:16px 18px;display:flex}.dark .dashboard-activity-header{background:#ffffff0d;background:lab(100% 0 0/.05)}.dashboard-activity-item{color:inherit;border-bottom:1px solid #0000000a;border-bottom:1px solid lab(0% 0 0/.04);padding:14px 18px;text-decoration:none;transition:background .15s;display:block;position:relative}.dark .dashboard-activity-item{border-bottom-color:#ffffff0a;border-bottom-color:lab(100% 0 0/.04)}.dashboard-activity-item:last-child{border-bottom:none}.dashboard-activity-item:hover{background:#00000005;background:lab(0% 0 0/.02)}.dark .dashboard-activity-item:hover{background:#ffffff08;background:lab(100% 0 0/.03)}.dashboard-activity-item:before{content:"";background:var(--activity-accent,#657383);opacity:0;border-radius:0 3px 3px 0;width:3px;transition:opacity .2s;position:absolute;top:8px;bottom:8px;left:0}@supports (color:lab(0% 0 0)){.dashboard-activity-item:before{background:var(--activity-accent,lab(47.7544% -2.88326 -10.5244))}}html[dir=rtl] .dashboard-activity-item:before{border-radius:3px 0 0 3px;left:auto;right:0}.dashboard-activity-item:hover:before{opacity:1}.dashboard-activity-item[data-navigable=false]{cursor:default}.dashboard-activity-item[data-navigable=false]:hover{background:0 0}.dashboard-activity-item[data-navigable=false]:hover:before{opacity:0}.dark .dashboard-activity-item[data-navigable=false]:hover{background:0 0}.dashboard-relevance-badge{letter-spacing:.01em;border:1px solid #0000;border-radius:9999px;align-items:center;padding:.2rem .5rem;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.dashboard-relevance-overdue{border-color:color-mix(in oklch, var(--sa-status-review) 35%, transparent);background:color-mix(in oklch, var(--sa-status-review) 14%, transparent);color:var(--sa-status-review)}.dashboard-relevance-today{border-color:color-mix(in oklch, var(--sa-status-grading) 35%, transparent);background:color-mix(in oklch, var(--sa-status-grading) 14%, transparent);color:var(--sa-status-grading)}.dashboard-relevance-soon{border-color:color-mix(in oklch, var(--sa-status-collecting) 35%, transparent);background:color-mix(in oklch, var(--sa-status-collecting) 14%, transparent);color:var(--sa-status-collecting)}.dashboard-relevance-normal{border-color:color-mix(in oklch, var(--muted-foreground) 28%, transparent);background:color-mix(in oklch, var(--muted-foreground) 10%, transparent);color:color-mix(in oklch, var(--foreground) 80%, var(--muted-foreground))}.dashboard-activity-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:28px 16px;display:flex}.dashboard-activity-note{border-top:1px solid var(--border);color:var(--muted-foreground);padding:10px 18px;font-size:12px}.ap-stage-track{--ap-node-size:32px;--ap-line-thickness:2px;--ap-line-width:clamp(16px, 3vw, 32px);align-items:flex-start;gap:0;display:flex}.ap-stage-track--compact{--ap-node-size:20px;--ap-line-width:auto;align-items:center;width:100%}.ap-stage-track--compact .ap-stage-step{align-items:center}.ap-stage-track--compact .ap-stage-step:first-child{flex:none}.ap-stage-track--compact .ap-stage-step:not(:first-child){flex:1;min-width:0}.ap-stage-track--compact .ap-stage-line{flex:auto;align-self:center;width:auto;min-width:12px;margin-top:0}.ap-stage-track--compact .ap-stage-node-wrap{gap:0}.ap-stage-step{align-items:flex-start;display:flex}.ap-stage-node-wrap{flex-direction:column;align-items:center;gap:6px;display:flex}.ap-stage-tooltip-trigger{display:inline-flex}.ap-stage-node{width:var(--ap-node-size);height:var(--ap-node-size);border:2px solid var(--border);background:var(--background);color:var(--muted-foreground);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.ap-stage-node.done{border-color:var(--ap-accent,var(--sa-status-finalized));background:var(--ap-accent,var(--sa-status-finalized));color:#fff}.ap-stage-node.current{border-color:var(--ap-accent,var(--sa-status-collecting));background:var(--ap-accent,var(--sa-status-collecting));color:#fff;box-shadow:0 0 0 3px color-mix(in oklch, var(--ap-accent,var(--sa-status-collecting)), transparent 80%)}@keyframes ap-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in oklch, var(--ap-accent,var(--sa-status-collecting)), transparent 80%)}50%{box-shadow:0 0 0 5px color-mix(in oklch, var(--ap-accent,var(--sa-status-collecting)), transparent 90%)}}.ap-stage-node.current{animation:2s ease-in-out infinite ap-pulse}.ap-stage-line{width:var(--ap-line-width);height:var(--ap-line-thickness);margin-top:calc((var(--ap-node-size) - var(--ap-line-thickness)) / 2);background:var(--border);flex-shrink:0;transition:background .25s}.ap-stage-line.done{background:var(--ap-accent,var(--sa-status-finalized))}.ap-stage-label{color:var(--muted-foreground);white-space:nowrap;font-size:11px;font-weight:500;line-height:1}.ap-stage-label.active{color:var(--foreground)}@media (prefers-reduced-motion:reduce){.ap-stage-node.current{animation:none}}.dashboard-pipeline-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:inherit;padding:1rem 1rem 1rem 1.25rem;text-decoration:none;transition:box-shadow .2s,transform .15s;display:block;position:relative;overflow:hidden}.dashboard-pipeline-card-track{border-radius:calc(var(--radius) - 4px);border:1px solid color-mix(in oklch, var(--pipeline-accent,var(--sa-status-setup)) 16%, var(--border));background:color-mix(in oklch, var(--pipeline-accent,var(--sa-status-setup)) 5%, var(--card));align-items:center;width:100%;padding:.75rem .875rem;display:flex}.dashboard-pipeline-card:hover{transform:translateY(-2px);box-shadow:0 4px 24px -4px #00000014;box-shadow:0 4px 24px -4px lab(0% 0 0/.08)}.dark .dashboard-pipeline-card:hover{box-shadow:0 4px 24px -4px #0000004d;box-shadow:0 4px 24px -4px lab(0% 0 0/.3)}.dashboard-pipeline-card:before{content:"";background:var(--pipeline-accent,var(--sa-status-setup));width:3px;position:absolute;top:0;bottom:0;left:0}html[dir=rtl] .dashboard-pipeline-card:before{left:auto;right:0}.dashboard-pipeline-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:.75rem;display:grid}.dashboard-attention-banner{border-radius:var(--radius);align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;display:flex}.dashboard-attention-banner--overdue{border:1px solid color-mix(in oklch, var(--sa-status-review) 35%, transparent);background:color-mix(in oklch, var(--sa-status-review) 8%, transparent);color:var(--sa-status-review)}.dashboard-attention-banner--today{border:1px solid color-mix(in oklch, var(--sa-status-grading) 35%, transparent);background:color-mix(in oklch, var(--sa-status-grading) 8%, transparent);color:var(--sa-status-grading)}.dashboard-summary-bar{background:color-mix(in oklch, var(--muted) 30%, transparent);border-radius:var(--radius);flex-wrap:wrap;gap:1rem;padding:.75rem 1rem;display:flex}.dashboard-summary-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.dashboard-collapse-trigger{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:start;background:0 0;border:none;align-items:center;gap:.75rem;padding:0;display:flex}.dashboard-collapse-chevron{color:var(--muted-foreground);flex-shrink:0;transition:transform .2s}[data-state=open] .dashboard-collapse-chevron{transform:rotate(180deg)}
