.TrafficLight-module__0DcIEa__light{border:none;border-radius:50%;flex-shrink:0;width:14px;height:14px;display:inline-block;box-shadow:0 0 6px #0003}.TrafficLight-module__0DcIEa__green{background:var(--color-success);box-shadow:0 0 8px #4ade8066}.TrafficLight-module__0DcIEa__yellow{background:var(--color-warning);box-shadow:0 0 8px #fbbf2466}.TrafficLight-module__0DcIEa__red{background:var(--color-error);box-shadow:0 0 8px #f8717166}.TrafficLight-module__0DcIEa__large{width:20px;height:20px}
.ValidateButton-module__X_-jrG__wrapper{flex-shrink:0}.ValidateButton-module__X_-jrG__button{border:1px solid var(--color-border-accent);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-accent);white-space:nowrap;background:0 0;padding:5px 12px;font-family:inherit;font-size:.78em;font-weight:600;transition:all .2s}.ValidateButton-module__X_-jrG__button:hover:not(:disabled){background:var(--color-accent);color:#fff}.ValidateButton-module__X_-jrG__button:disabled{cursor:not-allowed;opacity:.5}.ValidateButton-module__X_-jrG__queued{border-color:var(--color-warning);color:var(--color-warning);min-width:54px}.ValidateButton-module__X_-jrG__processing{border-color:var(--color-warning);color:var(--color-warning);min-width:54px;animation:1.5s ease-in-out infinite ValidateButton-module__X_-jrG__pulse}@keyframes ValidateButton-module__X_-jrG__pulse{0%,to{opacity:1}50%{opacity:.5}}.ValidateButton-module__X_-jrG__success{border-color:var(--color-success);color:var(--color-success)}.ValidateButton-module__X_-jrG__error{border-color:var(--color-error);color:var(--color-error)}.ValidateButton-module__X_-jrG__large{border-radius:var(--radius-md);letter-spacing:.02em;border-width:2px;padding:16px 40px;font-size:1.1em}.ValidateButton-module__X_-jrG__badge{border-radius:var(--radius-sm);white-space:nowrap;opacity:.8;border:none;padding:5px 12px;font-family:inherit;font-size:.78em;font-weight:600;display:inline-block}
.CourseCard-module__ahLxdG__card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;align-items:center;gap:14px;padding:16px 18px;transition:border-color .2s,transform .15s,box-shadow .2s;display:flex}.CourseCard-module__ahLxdG__card:hover{border-color:var(--color-border-accent);transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.CourseCard-module__ahLxdG__info{flex:1;min-width:0}.CourseCard-module__ahLxdG__name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.95em;font-weight:500;overflow:hidden}.CourseCard-module__ahLxdG__tag{color:var(--color-accent);letter-spacing:.02em;margin-top:3px;font-size:.78em;font-weight:500}.CourseCard-module__ahLxdG__date{color:var(--color-text-dim);margin-top:4px;font-size:.72em}
.StatusSection-module__-rTZJG__section{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);min-width:250px;padding:16px}.StatusSection-module__-rTZJG__heading{border-bottom:1px solid var(--color-border);color:var(--color-text);align-items:center;gap:8px;margin-top:0;margin-bottom:8px;padding-bottom:8px;font-size:1.1em;font-weight:500;display:flex}.StatusSection-module__-rTZJG__item{color:var(--color-text-muted);align-items:center;gap:8px;margin:5px 0;font-size:.85em;display:flex}.StatusSection-module__-rTZJG__actionLink{color:var(--color-accent);border:1px solid var(--color-border-accent);border-radius:var(--radius-sm);white-space:nowrap;background:0 0;margin-left:auto;padding:3px 10px;font-size:.7em;font-weight:500;text-decoration:none;transition:background .2s,color .2s}.StatusSection-module__-rTZJG__actionLink:hover{background:var(--color-accent);color:#fff}.StatusSection-module__-rTZJG__hasTooltip{cursor:help;position:relative}.StatusSection-module__-rTZJG__hasTooltip span{-webkit-text-decoration:underline dotted var(--color-error);text-decoration:underline dotted var(--color-error);text-underline-offset:3px}.StatusSection-module__-rTZJG__hasTooltip:after{content:attr(data-tooltip);z-index:50;background:var(--color-bg-light);max-width:320px;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);white-space:normal;pointer-events:none;opacity:0;padding:8px 12px;font-size:.82em;line-height:1.45;transition:opacity .15s;position:absolute;top:calc(100% + 6px);left:20px;box-shadow:0 4px 16px #00000059}.StatusSection-module__-rTZJG__hasTooltip:hover:after{opacity:1}.StatusSection-module__-rTZJG__categoryTitle{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:10px;font-size:.9em;font-weight:600}
.ValidateAllButton-module__WfIvSa__wrapper{text-align:center;margin:20px 0;position:relative}.ValidateAllButton-module__WfIvSa__button{border-radius:var(--radius-sm);cursor:pointer;color:#fff;background:var(--color-accent);letter-spacing:-.01em;border:none;padding:10px 24px;font-family:inherit;font-size:.9em;font-weight:600;transition:background .2s,transform .1s}.ValidateAllButton-module__WfIvSa__button:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.ValidateAllButton-module__WfIvSa__button:disabled{cursor:not-allowed;opacity:.6}.ValidateAllButton-module__WfIvSa__loading{background:var(--color-warning);color:#1a1829}.ValidateAllButton-module__WfIvSa__tooltip{background:var(--color-surface,#1e1d2e);border:1px solid var(--color-border,#333);border-radius:var(--radius-sm);white-space:nowrap;z-index:100;text-align:left;min-width:160px;margin-top:8px;padding:8px 12px;font-size:.8em;display:none;position:absolute;top:100%;left:50%;transform:translate(-50%)}.ValidateAllButton-module__WfIvSa__wrapper:hover .ValidateAllButton-module__WfIvSa__tooltip{display:block}.ValidateAllButton-module__WfIvSa__tooltipItem{color:var(--color-text-secondary,#aaa);align-items:center;gap:8px;padding:3px 0;display:flex}.ValidateAllButton-module__WfIvSa__tooltipBadge{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ValidateAllButton-module__WfIvSa__tooltipBadge[data-status=processing]{background:var(--color-warning);animation:1.5s ease-in-out infinite ValidateAllButton-module__WfIvSa__pulse}.ValidateAllButton-module__WfIvSa__tooltipBadge[data-status=queued]{background:var(--color-text-muted,#666)}@keyframes ValidateAllButton-module__WfIvSa__pulse{0%,to{opacity:1}50%{opacity:.4}}
.ValidationDetail-module__p7D5Nq__grid{flex-wrap:wrap;gap:16px;padding-bottom:10px;display:flex}.ValidationDetail-module__p7D5Nq__grid>*{flex:300px}
.TriggerButton-module__y_Ia2G__wrapper{text-align:center;margin:20px 0}.TriggerButton-module__y_Ia2G__button{border-radius:var(--radius-sm);cursor:pointer;color:#fff;background:var(--color-accent);letter-spacing:-.01em;border:none;padding:10px 24px;font-family:inherit;font-size:.9em;font-weight:600;transition:background .2s,transform .1s}.TriggerButton-module__y_Ia2G__button:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.TriggerButton-module__y_Ia2G__button:disabled{cursor:not-allowed;opacity:.6}.TriggerButton-module__y_Ia2G__loading{background:var(--color-warning);color:#1a1829}.TriggerButton-module__y_Ia2G__success{background:var(--color-success);color:#1a1829}.TriggerButton-module__y_Ia2G__error{background:var(--color-error)}.TriggerButton-module__y_Ia2G__errorMsg{color:var(--color-error);margin-top:8px;font-size:.85em}
.ValidationHistory-module__xU5OHq__table{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden}.ValidationHistory-module__xU5OHq__header{color:var(--color-text-dim);border-bottom:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.04em;grid-template-columns:40px 60px 1fr;padding:10px 16px;font-size:.8em;font-weight:600;display:grid}.ValidationHistory-module__xU5OHq__row{color:var(--color-text);text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--color-border);background:0 0;grid-template-columns:40px 60px 1fr 30px;align-items:center;width:100%;padding:10px 16px;font-family:inherit;font-size:.9em;transition:background .15s;display:grid}.ValidationHistory-module__xU5OHq__row:hover{background:var(--color-surface-hover)}.ValidationHistory-module__xU5OHq__runId{color:var(--color-text-dim)}.ValidationHistory-module__xU5OHq__date{color:var(--color-text-muted)}.ValidationHistory-module__xU5OHq__toggle{text-align:center;color:var(--color-text-dim);font-size:1.2em}.ValidationHistory-module__xU5OHq__detail{background:var(--color-bg-light);border-bottom:1px solid var(--color-border);padding:16px}.ValidationHistory-module__xU5OHq__empty{color:var(--color-text-dim);text-align:center;padding:20px}
.page-module___h2ZxG__header{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:28px;display:flex}.page-module___h2ZxG__title{letter-spacing:-.02em;align-items:center;gap:12px;font-size:1.5em;font-weight:300;display:flex}.page-module___h2ZxG__tag{color:var(--color-accent);background:var(--color-accent-subtle);border-radius:var(--radius-sm);border:1px solid var(--color-border-accent);padding:4px 12px;font-size:.85em;font-weight:500}.page-module___h2ZxG__section{margin-bottom:32px}.page-module___h2ZxG__section h2{color:var(--color-text-muted);letter-spacing:-.01em;margin-bottom:14px;font-size:1.15em;font-weight:400}.page-module___h2ZxG__date{color:var(--color-text-dim);margin-bottom:16px;font-size:.85em}.page-module___h2ZxG__empty{text-align:center;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);margin:40px 0;padding:60px 20px}.page-module___h2ZxG__emptyText{color:var(--color-text-muted);margin-bottom:24px;font-size:1.15em;font-weight:300}
.page-module___8aEwW__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-module___8aEwW__title{letter-spacing:-.02em;align-items:center;gap:12px;font-size:1.5em;font-weight:300;display:flex}.page-module___8aEwW__stats{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.page-module___8aEwW__stat{background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-text-muted);padding:8px 16px;font-size:.85em;font-weight:500}.page-module___8aEwW__grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.page-module___8aEwW__actions{flex-wrap:wrap;gap:8px;display:flex}.page-module___8aEwW__syncInfo{color:var(--color-text-dim);align-items:center;padding:8px 16px;font-size:.78em;display:flex}.page-module___8aEwW__empty{text-align:center;color:var(--color-text-dim);padding:80px 20px;font-size:1.1em;font-weight:300}
