[data-admin-theme=operations]{--admin-surface:var(--card);--admin-surface-raised:var(--card);--admin-surface-muted:var(--bg-soft);--admin-text:var(--text);--admin-text-soft:var(--text-soft);--admin-muted:var(--muted);--admin-border:var(--border);--admin-border-strong:var(--border-strong);--admin-accent:#4f6cf2;--admin-accent-soft:color-mix(in srgb,#4f6cf2 14%,transparent);--admin-accent-strong:#3a52d6;--admin-ok:#2f9d6e;--admin-ok-soft:color-mix(in srgb,#2f9d6e 14%,transparent);--admin-warn:#c98013;--admin-warn-soft:color-mix(in srgb,#c98013 14%,transparent);--admin-danger:var(--danger);--admin-danger-soft:color-mix(in srgb,var(--danger) 14%,transparent);--admin-radius:14px;--admin-radius-sm:10px;--admin-shadow:0 1px 2px color-mix(in srgb,var(--text) 6%,transparent),0 4px 16px color-mix(in srgb,var(--text) 4%,transparent);--admin-shadow-raised:0 8px 32px color-mix(in srgb,var(--text) 10%,transparent),0 2px 6px color-mix(in srgb,var(--text) 8%,transparent)}.admin-shell{width:min(1180px,100%);margin:0 auto;padding:32px clamp(16px,4vw,48px) 80px;display:flex;flex-direction:column;gap:24px;color:var(--admin-text)}.admin-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;border-bottom:1px solid var(--admin-border);padding-bottom:20px}.admin-title{font-size:26px;font-weight:600;letter-spacing:-.01em;margin:0;color:var(--admin-text)}.admin-subtitle{margin:4px 0 0;color:var(--admin-text-soft);font-size:13px}.admin-header-actions{display:flex;align-items:center;gap:10px}.admin-window-picker select{font:inherit;font-size:13px;background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);padding:7px 10px;color:var(--admin-text);cursor:pointer}.admin-window-picker select:focus-visible{outline:2px solid var(--admin-accent);outline-offset:1px}.admin-btn{font:inherit;font-size:13px;font-weight:600;padding:8px 14px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease;line-height:1.2}.admin-btn:focus-visible{outline:2px solid var(--admin-accent);outline-offset:2px}.admin-btn:disabled{opacity:.55;cursor:progress}.admin-btn--primary{background:var(--admin-accent);color:var(--on-primary);border-color:var(--admin-accent)}.admin-btn--primary:hover:not(:disabled){background:var(--admin-accent-strong);border-color:var(--admin-accent-strong)}.admin-btn--secondary{background:var(--admin-surface);color:var(--admin-text);border-color:var(--admin-border)}.admin-btn--secondary:hover:not(:disabled){background:var(--admin-surface-muted);border-color:var(--admin-border-strong)}.admin-btn--ghost{background:transparent;color:var(--admin-text-soft);border-color:transparent}.admin-btn--ghost:hover:not(:disabled){background:var(--admin-surface-muted);color:var(--admin-text)}.admin-refresh{font:inherit;font-size:13px;font-weight:500;border:1px solid var(--admin-border);background:var(--admin-surface);color:var(--admin-text);padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.admin-refresh:hover:not(:disabled){background:var(--admin-surface-muted);border-color:var(--admin-border-strong)}.admin-signout{font:inherit;font-size:18px;font-weight:500;border:1px solid var(--admin-border);background:var(--admin-surface);color:var(--admin-text);width:34px;height:34px;padding:0;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:background .12s ease,border-color .12s ease}.admin-signout:hover{background:var(--admin-surface-muted);border-color:var(--admin-border-strong)}.admin-signout:focus-visible{outline:2px solid var(--admin-accent);outline-offset:2px}.admin-refresh:disabled{opacity:.6;cursor:progress}.admin-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--admin-border);padding-bottom:0;margin:0}.admin-tab{font:inherit;font-size:13px;font-weight:500;background:transparent;border:0;color:var(--admin-text-soft);padding:12px 16px;border-radius:var(--admin-radius-sm) var(--admin-radius-sm) 0 0;cursor:pointer;position:relative;bottom:-1px;border-bottom:2px solid transparent;transition:color .12s ease,background .12s ease}.admin-tab:hover{color:var(--admin-text);background:var(--admin-surface-muted)}.admin-tab--active{color:var(--admin-accent);border-bottom-color:var(--admin-accent)}.admin-tab:focus-visible{outline:2px solid var(--admin-accent);outline-offset:2px}.admin-error{border:1px solid var(--admin-danger);background:var(--admin-danger-soft);color:var(--admin-danger);padding:12px 16px;border-radius:var(--admin-radius-sm);font-size:14px}.admin-section{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius);padding:22px clamp(16px,3vw,28px);box-shadow:var(--admin-shadow)}.admin-section-header{margin-bottom:16px}.admin-section-header--row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px}.admin-section-header h2{font-size:17px;font-weight:600;margin:0;color:var(--admin-text);letter-spacing:-.005em}.admin-section-hint{margin:6px 0 0;color:var(--admin-text-soft);font-size:13px;max-width:64ch;line-height:1.5}.admin-section-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-empty{color:var(--admin-text-soft);font-size:14px;margin:0}.admin-empty-state{display:flex;flex-direction:column;gap:6px;padding:18px 0 4px}.admin-empty-hint{color:var(--admin-muted);font-size:13px;margin:0}.admin-search{display:inline-block}.admin-field-input,.admin-search-input{font:inherit;font-size:14px;background:var(--admin-surface-muted);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);padding:9px 12px;color:var(--admin-text);width:100%;min-width:220px;transition:border-color .12s ease,background .12s ease}.admin-field-input::placeholder,.admin-search-input::placeholder{color:var(--admin-muted)}.admin-field-input:focus,.admin-search-input:focus{border-color:var(--admin-accent);outline:2px solid var(--admin-accent-soft);outline-offset:0;background:var(--admin-surface)}.admin-field{display:flex;flex-direction:column;gap:6px}.admin-field-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--admin-text-soft)}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table thead th{text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--admin-text-soft);padding:10px 12px;border-bottom:1px solid var(--admin-border);background:transparent}.admin-table tbody td{padding:12px;border-bottom:1px solid var(--admin-border);vertical-align:middle;color:var(--admin-text)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover td{background:var(--admin-surface-muted)}.admin-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.admin-table-actions-col{width:1%}.admin-table-actions-col,.admin-table-num-col{white-space:nowrap;text-align:right}.admin-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em}.admin-pill--on{background:var(--admin-ok-soft);color:var(--admin-ok)}.admin-pill--off{background:var(--admin-danger-soft);color:var(--admin-danger)}.admin-toggle{font:inherit;font-size:13px;font-weight:600;border-radius:999px;padding:6px 14px;border:1px solid transparent;cursor:pointer;transition:background .12s ease,border-color .12s ease}.admin-toggle:disabled{opacity:.6;cursor:progress}.admin-toggle--disable{background:var(--admin-surface);color:var(--admin-danger);border-color:var(--admin-danger)}.admin-toggle--disable:hover:not(:disabled){background:var(--admin-danger-soft)}.admin-toggle--enable{background:var(--admin-ok);color:var(--on-primary);border-color:var(--admin-ok)}.admin-toggle--enable:hover:not(:disabled){background:color-mix(in srgb,var(--admin-ok) 88%,black)}.admin-stub{border:1px dashed var(--admin-border-strong);border-radius:var(--admin-radius-sm);padding:14px 16px;font-size:13px;color:var(--admin-text-soft);line-height:1.5}.admin-stub strong{color:var(--admin-text)}.admin-alerts{background:var(--admin-warn-soft);border:1px solid var(--admin-warn);border-radius:var(--admin-radius);padding:16px 20px;box-shadow:var(--admin-shadow)}.admin-alerts--clear{background:var(--admin-ok-soft);border-color:var(--admin-ok);color:var(--admin-text);font-size:13.5px;padding:14px 18px}.admin-alerts--clear strong{color:var(--admin-ok);margin-right:4px}.admin-alerts-header h2{margin:0 0 10px;font-size:15px;font-weight:600;color:var(--admin-text)}.admin-alerts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.admin-alert{border-left:3px solid var(--admin-warn);padding:10px 14px;background:var(--admin-surface);border-radius:var(--admin-radius-sm)}.admin-alert--critical{border-left-color:var(--admin-danger)}.admin-alert--info{border-left-color:var(--admin-accent)}.admin-alert-title{font-size:14px;font-weight:600;color:var(--admin-text);display:flex;align-items:center;gap:8px}.admin-alert-pill{text-transform:uppercase;font-size:10px;letter-spacing:.08em;font-weight:700;background:var(--admin-warn-soft);color:var(--admin-warn);padding:2px 8px;border-radius:999px}.admin-alert--critical .admin-alert-pill{background:var(--admin-danger-soft);color:var(--admin-danger)}.admin-alert--info .admin-alert-pill{background:var(--admin-accent-soft);color:var(--admin-accent)}.admin-alert-detail{margin-top:4px;font-size:13px;color:var(--admin-text-soft);line-height:1.45}.admin-metric-grid,.admin-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.admin-summary-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.admin-metric-card{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);padding:16px 18px;display:flex;flex-direction:column;gap:6px;text-align:left;font:inherit;color:inherit;cursor:default;position:relative;box-shadow:var(--admin-shadow)}.admin-metric-card--clickable{cursor:pointer;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.admin-metric-card--clickable:hover{border-color:var(--admin-accent);transform:translateY(-1px);box-shadow:var(--admin-shadow-raised)}.admin-metric-card--clickable:focus-visible{outline:2px solid var(--admin-accent);outline-offset:2px}.admin-metric-card-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--admin-text-soft);font-weight:600}.admin-metric-card-value{font-size:24px;font-weight:600;color:var(--admin-text);line-height:1.15;letter-spacing:-.01em}.admin-metric-card-hint{font-size:12px;color:var(--admin-text-soft);line-height:1.4}.admin-metric-card--warn{border-color:var(--admin-warn)}.admin-metric-card--warn .admin-metric-card-value{color:var(--admin-warn)}.admin-metric-card--critical{border-color:var(--admin-danger)}.admin-metric-card--critical .admin-metric-card-value{color:var(--admin-danger)}.admin-metric-card--info{border-color:var(--admin-accent)}.admin-section-footer{margin-top:12px;display:flex;justify-content:flex-end}.admin-link{font:inherit;font-size:13px;font-weight:600;background:transparent;border:0;color:var(--admin-accent);cursor:pointer;padding:4px 8px}.admin-link:hover{text-decoration:underline}.admin-modal-scrim{position:fixed;inset:0;background:var(--overlay-scrim);display:flex;align-items:center;justify-content:center;padding:20px;z-index:80;animation:admin-fade-in .14s ease-out}.admin-modal{width:min(460px,100%);background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow-raised);display:flex;flex-direction:column;max-height:calc(100dvh - 40px);overflow:auto;animation:admin-pop-in .16s ease-out}.admin-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 12px;border-bottom:1px solid var(--admin-border)}.admin-modal-header h2{margin:0;font-size:17px;font-weight:600;color:var(--admin-text)}.admin-modal-close{font:inherit;background:transparent;border:0;color:var(--admin-text-soft);font-size:22px;line-height:1;cursor:pointer;padding:2px 8px;border-radius:6px}.admin-modal-close:hover{background:var(--admin-surface-muted);color:var(--admin-text)}.admin-modal-body{display:flex;flex-direction:column;gap:16px;padding:18px 22px 22px}.admin-modal-hint{color:var(--admin-text-soft);font-size:13px;line-height:1.5;margin:0}.admin-modal-error{background:var(--admin-danger-soft);border:1px solid var(--admin-danger);color:var(--admin-danger);padding:10px 12px;border-radius:var(--admin-radius-sm);font-size:13.5px;margin:0}.admin-modal-success{background:var(--admin-ok-soft);border:1px solid var(--admin-ok);color:var(--admin-text);padding:12px 14px;border-radius:var(--admin-radius-sm);font-size:14px;margin:0;line-height:1.5}.admin-modal-success strong{color:var(--admin-ok)}.admin-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}@keyframes admin-fade-in{0%{opacity:0}to{opacity:1}}@keyframes admin-pop-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.admin-modal,.admin-modal-scrim{animation:none}}.admin-curriculum{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius);padding:22px clamp(16px,3vw,28px);box-shadow:var(--admin-shadow);display:flex;flex-direction:column;gap:16px}.admin-cell--alarm{color:var(--admin-danger);font-weight:600}.admin-graph{border:1px solid var(--admin-border);border-radius:var(--admin-radius);background:var(--admin-surface-muted);display:flex;flex-direction:column;gap:12px;padding:14px;min-height:0}.admin-graph__head,.admin-graph__region-head,.admin-graph__summary-row{display:flex;align-items:center}.admin-graph__head{justify-content:space-between;gap:16px}.admin-graph__head h3,.admin-graph__region-head h4{margin:0;color:var(--admin-text)}.admin-graph__head h3{font-size:16px}.admin-graph__summary{margin:4px 0 0;color:var(--admin-text-soft);font-size:12px}.admin-graph__close{border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);background:var(--admin-surface);color:var(--admin-text);padding:8px 12px;font:inherit;font-size:13px;cursor:pointer}.admin-graph__close:hover{background:var(--admin-surface-muted);border-color:var(--admin-border-strong)}.admin-graph__close:focus-visible{outline:2px solid var(--admin-accent);outline-offset:2px}.admin-graph__empty,.admin-graph__error{margin:0;color:var(--admin-text-soft)}.admin-graph__error{color:var(--admin-danger)}.admin-graph__viewport{display:flex;flex-direction:column;gap:12px;max-height:min(62vh,680px);overflow:auto;overscroll-behavior:contain;padding-right:4px}.admin-graph__region{border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);background:var(--admin-surface);overflow:hidden}.admin-graph__region-head{justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--admin-border);background:var(--admin-surface-muted)}.admin-graph__region-head h4{font-size:13px;font-weight:700}.admin-graph__region-head span{color:var(--admin-text-soft);font-size:12px}.admin-graph__list{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:6px}.admin-graph__item{border-left:3px solid transparent;border-radius:var(--admin-radius-sm);background:var(--admin-surface)}.admin-graph__item--warning{border-left-color:var(--admin-warn);background:color-mix(in srgb,var(--admin-warn-soft) 45%,var(--admin-surface))}.admin-graph__item--error{border-left-color:var(--admin-danger);background:color-mix(in srgb,var(--admin-danger-soft) 42%,var(--admin-surface))}.admin-graph__summary-row{gap:10px;min-height:44px;padding:8px 10px 8px calc(10px + var(--depth-indent, 0px));cursor:pointer}.admin-graph__summary-row::-webkit-details-marker{display:none}.admin-graph__summary-row:after{content:"›";margin-left:auto;color:var(--admin-muted);transition:transform .14s ease}.admin-graph__item details[open] .admin-graph__summary-row:after{transform:rotate(90deg)}.admin-graph__depth{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:var(--admin-accent-soft);color:var(--admin-accent-strong);font-size:12px;font-weight:700;flex:0 0 auto}.admin-graph__concept-main{min-width:0;display:flex;flex-direction:column;gap:2px}.admin-graph__concept-title{color:var(--admin-text);font-size:13px;font-weight:700}.admin-graph__concept-id,.admin-graph__concept-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-graph__concept-id{color:var(--admin-text-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.admin-graph__badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;margin-left:auto;max-width:260px}.admin-graph__badge{border-radius:999px;border:1px solid var(--admin-border);color:var(--admin-text-soft);background:var(--admin-surface-muted);padding:3px 7px;font-size:11px;font-weight:700;line-height:1}.admin-graph__badge--on{background:var(--admin-ok-soft);color:var(--admin-ok);border-color:color-mix(in srgb,var(--admin-ok) 42%,var(--admin-border))}.admin-graph__badge--warn{background:var(--admin-warn-soft);color:var(--admin-warn);border-color:color-mix(in srgb,var(--admin-warn) 42%,var(--admin-border))}.admin-graph__details{display:grid;grid-template-columns:132px minmax(0,1fr);grid-gap:6px 12px;gap:6px 12px;margin:0;padding:0 12px 12px calc(46px + var(--depth-indent, 0px));color:var(--admin-text-soft);font-size:12px}.admin-graph__details dt{color:var(--admin-text);font-weight:700}.admin-graph__details dd{margin:0;min-width:0;overflow-wrap:anywhere}.admin-graph__issues{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.admin-graph__issue{border:1px solid var(--admin-border);border-left-width:3px;border-radius:var(--admin-radius-sm);background:var(--admin-surface);padding:9px 10px;display:flex;flex-direction:column;gap:3px;color:var(--admin-text-soft);font-size:12px}.admin-graph__issue strong{color:var(--admin-text)}.admin-graph__issue--error{border-left-color:var(--admin-danger)}.admin-graph__issue--warning{border-left-color:var(--admin-warn)}@media (max-width:760px){.admin-graph__summary-row{align-items:flex-start;flex-wrap:wrap}.admin-graph__badges{width:100%;max-width:none;justify-content:flex-start;margin-left:34px}.admin-graph__details{grid-template-columns:1fr}}.progress-indicators{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;width:100%;max-width:720px;margin:0 auto 14px}@media (max-width:600px){.progress-indicators{grid-template-columns:1fr;gap:8px}}.progress-pill{position:relative}.progress-pill-button{width:100%;display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--card);border:1px solid var(--border);border-radius:14px;cursor:pointer;text-align:left;transition:background .16s ease,transform .16s ease,border-color .16s ease;font:inherit;color:inherit;box-shadow:var(--shadow);min-width:0}.progress-pill-button:hover{background:var(--bg-soft);border-color:var(--border-strong)}.progress-pill-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.progress-pill-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.progress-pill-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft)}.progress-pill-primary{font-size:14px;font-weight:600;color:var(--text)}.progress-pill-primary,.progress-pill-secondary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-pill-secondary{font-size:12px;color:var(--text-soft);line-height:1.3}.progress-pill-bar{display:block;height:6px;border-radius:999px;background:var(--border);overflow:hidden}.progress-pill-bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-strong));transition:width .36s ease}.progress-pill--spark .progress-pill-bar-fill{background:var(--muted)}.progress-pill--kindle .progress-pill-bar-fill{background:var(--accent)}.progress-pill--warm .progress-pill-bar-fill{background:var(--accent-warm)}.progress-pill--bright .progress-pill-bar-fill{background:linear-gradient(90deg,var(--primary),var(--primary-strong))}.progress-pill--blaze .progress-pill-bar-fill{background:var(--success)}.progress-pill--shine .progress-pill-bar-fill{background:linear-gradient(90deg,var(--success),var(--primary))}.progress-pill-popover{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-card);padding:10px;display:flex;flex-direction:column;gap:10px}.progress-pill-popover-stat{display:flex;flex-direction:column;gap:4px;padding:4px 6px 6px}.progress-pill-popover-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.progress-pill-popover-stat-primary{font-size:18px;font-weight:600;color:var(--text);line-height:1.2}.progress-pill-popover-stat-secondary{font-size:12.5px;color:var(--text-soft);line-height:1.4}.progress-pill-popover-bar{display:block;height:6px;border-radius:999px;background:var(--border);overflow:hidden;margin-top:4px}.progress-pill-popover-bar-fill{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-strong));transition:width .36s ease-out}.progress-pill-popover-item{width:100%;text-align:left;padding:9px 12px;border:none;background:var(--primary-soft);border-radius:8px;cursor:pointer;font:inherit;color:var(--text);font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:background-color .16s ease-out}.progress-pill-popover-item:focus-visible,.progress-pill-popover-item:hover{background:color-mix(in oklab,var(--primary) 18%,var(--card));outline:none}.supervisor-career-tab{display:flex;flex-direction:column;gap:24px}.supervisor-career-tab>section{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px}.supervisor-career-tab h3{margin:0;font-size:15px;font-weight:600;color:var(--text)}.supervisor-career-current p{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.supervisor-career-current-id{font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:13px;color:var(--text)}.supervisor-career-current-importance{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;background:var(--primary-soft);color:var(--primary-strong)}.supervisor-career-current-importance[data-importance=critical]{background:color-mix(in oklab,var(--primary) 32%,var(--card));color:var(--primary-strong)}.supervisor-career-current-importance[data-importance=high]{background:color-mix(in oklab,var(--primary) 20%,var(--card))}.supervisor-career-current-importance[data-importance=low]{background:var(--card-muted);color:var(--text-muted,var(--text))}.supervisor-career-pace-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px;margin:0}.supervisor-career-pace-cell{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--card-muted);border-radius:10px}.supervisor-career-pace-cell dt{font-size:12px;color:var(--text-muted,var(--text))}.supervisor-career-pace-cell dd{margin:0;display:flex;flex-direction:column;gap:2px}.supervisor-career-pace-value{font-size:18px;font-weight:600;color:var(--text)}.supervisor-career-pace-hint{font-size:11px;color:var(--text-muted,var(--text))}.supervisor-career-pace-footnote{margin:0;font-size:12px;color:var(--text-muted,var(--text))}.supervisor-career-path-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.supervisor-career-path-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:12px;gap:12px;padding:10px 12px;border-radius:8px;border:1px solid var(--border)}.supervisor-career-path-row[data-current=true]{border-color:var(--primary);background:var(--primary-soft)}.supervisor-career-path-name{font-weight:500;color:var(--text)}.supervisor-career-path-state{font-size:12px;color:var(--text-muted,var(--text));text-transform:capitalize}.supervisor-career-path-id{font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:11px;color:var(--text-muted,var(--text))}.teacher-shell{height:100%;min-height:0;width:100%;color:var(--text);background:radial-gradient(1200px 600px at 12% -10%,rgba(93,199,255,.07),transparent 60%),radial-gradient(900px 500px at 110% 0,rgba(255,225,132,.06),transparent 60%),var(--bg);display:grid;grid-template-columns:240px minmax(0,1fr);grid-gap:0;gap:0;overflow:hidden}.teacher-sidebar{height:100%;overflow-y:auto;padding:28px 18px;border-right:1px solid var(--border);background:rgba(7,18,37,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:22px;--text:#eef8ff;--text-soft:#bdd1e6;--muted:#93aacb;--border:rgba(218,238,255,0.13);--primary-soft:rgba(93,199,255,0.14);--primary-strong:#9ee8ff}.teacher-brand{display:flex;align-items:center;gap:10px;padding:4px 8px}.teacher-brand-mark{display:inline-flex;width:34px;height:34px;flex:0 0 34px;border-radius:8px;overflow:hidden;box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 22%,transparent)}.teacher-brand-mark .aiza-logo__image{display:block;width:100%;height:100%;object-fit:cover}.teacher-brand-text{display:flex;flex-direction:column;line-height:1.15}.teacher-brand-text strong{font-size:.98rem;font-weight:700}.teacher-brand-text span{font-size:.78rem;color:var(--muted)}.teacher-nav{display:flex;flex-direction:column;gap:4px}.teacher-nav-heading{margin:6px 8px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.teacher-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);font:inherit;font-weight:600;text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.teacher-nav-item:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}.teacher-nav-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.teacher-nav-item:disabled{color:var(--muted);cursor:not-allowed;opacity:.5}.teacher-nav-item:disabled:hover{background:transparent}.teacher-nav-item--active{background:var(--primary-soft);color:var(--primary-strong);border-color:color-mix(in srgb,var(--primary) 24%,transparent)}.teacher-nav-dot{width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--primary) 35%,transparent)}.teacher-nav-item--active .teacher-nav-dot{background:var(--primary)}.teacher-sidebar-footer{margin-top:auto;padding:12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--muted);font-size:.82rem;line-height:1.4;display:flex;flex-direction:column;gap:8px}.teacher-sidebar-footer-label{display:block}.teacher-sidebar-logout{align-self:flex-start}.teacher-main{height:100%;overflow-y:auto;padding:32px 36px 56px;min-width:0;max-width:1180px}.teacher-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.teacher-eyebrow{margin:0 0 6px;color:var(--primary-strong);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.teacher-title{margin:0;font-size:1.85rem;line-height:1.15;font-weight:750}.teacher-subtitle{max-width:640px;margin:8px 0 0;color:var(--text-soft);line-height:1.55}.teacher-header-actions{display:flex;gap:10px;flex-wrap:wrap}.teacher-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:10px;border:1px solid transparent;font:inherit;font-weight:650;cursor:pointer;transition:background .12s ease,transform .12s ease,box-shadow .12s ease}.teacher-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.teacher-btn--primary{background:var(--primary);color:var(--on-primary);box-shadow:0 6px 16px color-mix(in srgb,var(--primary) 28%,transparent)}.teacher-btn--primary:hover{background:var(--primary-hover)}.teacher-btn--secondary{background:var(--btn-secondary-bg);color:var(--text);border-color:var(--border-strong)}.teacher-btn--secondary:hover{background:var(--btn-secondary-bg-hover)}.teacher-btn--ghost{background:transparent;color:var(--primary-strong);border-color:transparent;padding:8px 12px}.teacher-btn--ghost:hover{background:var(--primary-soft)}.teacher-btn--small{padding:8px 12px;font-size:.88rem}.teacher-btn:disabled{cursor:not-allowed;opacity:.45;box-shadow:none;transform:none}.teacher-btn:disabled:hover{background:inherit}.teacher-error{margin:0 0 20px;padding:14px 16px;border-radius:10px;color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--danger) 24%,transparent)}.teacher-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:28px}.teacher-metric{padding:18px 16px;border-radius:14px;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px;min-height:102px}.teacher-metric-label{font-size:.78rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.teacher-metric-value{font-size:1.95rem;font-weight:750;line-height:1;color:var(--text)}.teacher-metric-meta{font-size:.8rem;color:var(--text-soft)}.teacher-metric--warn{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 12%,transparent),var(--card));border-color:color-mix(in srgb,var(--accent) 28%,transparent)}.teacher-metric--warn .teacher-metric-value{color:var(--accent)}.teacher-metric--accent{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 10%,transparent),var(--card));border-color:color-mix(in srgb,var(--primary) 22%,transparent)}.teacher-metric--clickable{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.teacher-metric--clickable:hover{border-color:var(--border-strong);box-shadow:0 10px 24px rgba(0,0,0,.18)}.teacher-metric--clickable:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.teacher-metric--clickable.teacher-metric--accent:hover{border-color:color-mix(in srgb,var(--primary) 40%,transparent)}.teacher-metric--clickable.teacher-metric--warn:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.teacher-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:22px}.teacher-card--focus{border-color:color-mix(in srgb,var(--primary) 28%,transparent)}.teacher-muted{margin:0;color:var(--text-soft);line-height:1.55}.teacher-card+.teacher-card,.teacher-card-row+.teacher-card-row{margin-top:20px}.teacher-card-row{display:grid;grid-gap:20px;gap:20px}.teacher-card-row--split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.teacher-card-row--three{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.teacher-card-head h2{margin:0 0 4px;font-size:1.05rem;font-weight:700}.teacher-card-head p{margin:0;color:var(--text-soft);font-size:.88rem;line-height:1.45}.teacher-card-head-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.teacher-list{display:grid;grid-gap:10px;gap:10px}.teacher-list-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:var(--chip-bg);color:var(--text);cursor:pointer;text-align:left;width:100%;font:inherit;transition:border-color .12s ease,background .12s ease}.teacher-list-item:hover{border-color:color-mix(in srgb,var(--primary) 35%,transparent);background:color-mix(in srgb,var(--primary) 7%,transparent)}.teacher-list-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.teacher-list-item--selected{border-color:var(--primary);background:var(--primary-soft)}.teacher-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 20%,transparent),color-mix(in srgb,var(--accent) 18%,transparent));color:var(--primary-strong);display:grid;place-items:center;font-weight:700;font-size:.95rem;flex-shrink:0}.teacher-list-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.teacher-list-title{font-weight:650;font-size:.98rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-list-meta{color:var(--text-soft);font-size:.84rem}.teacher-list-tag{padding:4px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-size:.76rem;font-weight:650}.teacher-list-tag--warn{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.teacher-list-tag--calm{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 26%,transparent)}.teacher-empty{padding:28px 22px;border-radius:14px;background:var(--chip-bg);border:1px dashed var(--border-strong);text-align:center;color:var(--text-soft);display:flex;flex-direction:column;gap:10px;align-items:center}.teacher-empty strong{color:var(--text);font-size:1rem}.teacher-empty p{margin:0;font-size:.88rem;max-width:360px;line-height:1.4}.teacher-empty--inline{padding:16px;text-align:left;align-items:flex-start}.teacher-form{display:grid;grid-gap:12px;gap:12px}.teacher-form input,.teacher-form select,.teacher-form textarea{width:100%;padding:11px 14px;border:1px solid var(--border-strong);border-radius:10px;background:var(--input-bg);color:var(--text);font:inherit}.teacher-form input::placeholder,.teacher-form textarea::placeholder{color:var(--muted)}.teacher-form input:focus,.teacher-form select:focus,.teacher-form textarea:focus{outline:2px solid var(--focus-ring);outline-offset:1px;border-color:var(--primary)}.teacher-form select option{background:var(--bg-soft);color:var(--text)}.teacher-form textarea{min-height:96px;resize:vertical}.teacher-form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.teacher-form-actions{display:flex;gap:10px;align-items:center}.teacher-form label.teacher-check{display:flex;align-items:flex-start;gap:8px;font-size:.9rem;color:var(--text-soft)}.teacher-form label.teacher-check input{width:auto;margin-top:3px}.teacher-profile{display:grid;grid-gap:16px;gap:16px}.teacher-profile-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.teacher-profile-head h3{margin:0}.teacher-info-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.teacher-info-box{padding:14px;border-radius:12px;background:color-mix(in srgb,var(--primary) 6%,transparent);border:1px solid var(--border)}.teacher-info-box span{display:block;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.teacher-info-box strong{display:block;margin:6px 0 2px;font-size:1.02rem;color:var(--text)}.teacher-info-box small{color:var(--text-soft);font-size:.84rem}.teacher-mini-list h3{margin:0 0 10px;font-size:.95rem}.teacher-mini-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:.9rem;color:var(--text)}.teacher-mini-row:last-child{border-bottom:none}.teacher-mini-row span:last-child{color:var(--text-soft);text-align:right}.teacher-record{padding:16px 18px;border-radius:14px;border:1px solid var(--border);background:var(--chip-bg);display:grid;grid-gap:8px;gap:8px}.teacher-record h3{margin:0;font-size:1rem;color:var(--text)}.teacher-record p{margin:0;color:var(--text-soft);font-size:.9rem;line-height:1.45}.teacher-pill-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.teacher-pill{padding:4px 10px;border-radius:999px;background:var(--chip-bg);color:var(--text-soft);font-size:.76rem;font-weight:600;border:1px solid var(--border)}.teacher-pill--accent{background:var(--primary-soft);color:var(--primary-strong);border-color:color-mix(in srgb,var(--primary) 24%,transparent)}.teacher-pill--warn{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,transparent)}.teacher-pill--calm{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success);border-color:color-mix(in srgb,var(--success) 26%,transparent)}.teacher-graph-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.teacher-graph-node{padding:13px;border-radius:12px;border:1px solid var(--border);background:var(--chip-bg);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease}.teacher-graph-node:hover{border-color:color-mix(in srgb,var(--primary) 35%,transparent);background:color-mix(in srgb,var(--primary) 7%,transparent)}.teacher-graph-node:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.teacher-graph-node--selected{border-color:var(--primary);background:var(--primary-soft)}.teacher-graph-node span{display:block;font-weight:650;font-size:.93rem}.teacher-graph-node small{display:block;color:var(--text-soft);font-size:.8rem;margin-top:4px}.teacher-map-canvas{position:relative;height:320px;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:radial-gradient(80% 60% at 30% 40%,rgba(93,199,255,.14),transparent 70%),radial-gradient(80% 60% at 80% 70%,rgba(255,225,132,.14),transparent 70%),#071225;margin-bottom:12px}.teacher-map-route{position:absolute;left:6%;right:6%;top:56%;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--accent));opacity:.7}.teacher-map-drop{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-weight:700;font-size:.85rem;box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 36%,transparent)}.teacher-map-student{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid rgba(255,255,255,.2);box-shadow:0 4px 10px rgba(0,0,0,.28)}.teacher-permission-list{display:grid;grid-gap:0;gap:0;border-radius:14px;border:1px solid var(--border);background:var(--card);overflow:hidden}.teacher-permission-row{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid var(--border);font-size:.94rem;color:var(--text)}.teacher-permission-row:last-child{border-bottom:none}.teacher-permission-row strong{font-weight:650;font-size:.86rem}.teacher-permission-row strong[data-allowed=true]{color:var(--success)}.teacher-permission-row strong[data-allowed=false]{color:var(--muted)}.teacher-roster{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}.teacher-student-chip{display:inline-flex;gap:8px;align-items:center;padding:9px 12px;border:1px solid var(--border);border-radius:999px;background:var(--chip-bg);color:var(--text);font:inherit;cursor:pointer;font-size:.88rem;transition:border-color .12s ease,background .12s ease}.teacher-student-chip:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.teacher-student-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.teacher-student-chip span:last-child{color:var(--text-soft);font-size:.78rem}.teacher-guardrail{padding:12px 14px;border-radius:10px;background:color-mix(in srgb,var(--success) 10%,transparent);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 20%,transparent);font-size:.86rem;line-height:1.4}.teacher-disclosure{border-radius:12px;border:1px solid var(--border);background:var(--chip-bg);padding:12px 14px}.teacher-disclosure summary{cursor:pointer;font-weight:650;font-size:.9rem;color:var(--text-soft)}.teacher-disclosure summary:hover{color:var(--text)}@media (max-width:1080px){.teacher-shell{grid-template-columns:1fr;height:auto;min-height:100%;overflow:visible}.teacher-sidebar{position:relative;height:auto;overflow:visible;border-right:none;border-bottom:1px solid var(--border);padding:16px 18px}.teacher-nav{flex-direction:row;flex-wrap:wrap;gap:8px}.teacher-nav-heading,.teacher-sidebar-footer{display:none}.teacher-nav-item{padding:8px 12px}.teacher-main,.teacher-main[data-section=dashboard]{height:auto;overflow:visible;padding:24px 22px 48px}.teacher-main[data-section=dashboard]{display:block}.teacher-main[data-section=dashboard] .teacher-course-graph,.teacher-main[data-section=dashboard] .teacher-dashboard{flex:none}.teacher-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-card-row--split,.teacher-card-row--three,.teacher-form-row,.teacher-info-grid{grid-template-columns:1fr}.teacher-graph-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.teacher-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-header{flex-direction:column;align-items:flex-start}.teacher-main{padding:20px 16px 40px}.teacher-graph-grid,.teacher-metric-grid{grid-template-columns:1fr}}.teacher-section-stack{display:flex;flex-direction:column;gap:16px}.teacher-segmented{display:inline-flex;align-self:flex-start;gap:2px;padding:3px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--card) 70%,transparent)}.teacher-segmented-btn{min-height:32px;padding:0 14px;border:none;border-radius:7px;background:transparent;color:var(--text-soft);font:600 .85rem/1 inherit;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s}.teacher-segmented-btn:hover:not(:disabled):not(.teacher-segmented-btn--active){background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}.teacher-segmented-btn--active{background:color-mix(in srgb,var(--primary) 22%,var(--card));color:var(--text)}.teacher-segmented-btn:disabled{opacity:.45;cursor:not-allowed}@media (max-width:640px){.teacher-segmented{align-self:stretch;width:100%}.teacher-segmented-btn{flex:1 1}}.teacher-class-map{display:flex;flex-direction:column;gap:12px;min-height:0}.teacher-class-map__hud{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-radius:12px;background:var(--chip-bg);border:1px solid var(--border)}.teacher-class-map__hud-left,.teacher-class-map__hud-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.teacher-class-map__toggles{display:flex;gap:10px;align-items:center;border:none;padding:0;margin:0;font-size:.85rem;color:var(--text-soft)}.teacher-class-map__toggles label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.teacher-class-map__controls{display:inline-flex;gap:6px}.teacher-class-map__canvas{position:relative;flex:1 1;min-height:360px;border-radius:16px;overflow:hidden;background:radial-gradient(80% 60% at 30% 40%,rgba(93,199,255,.1),transparent 70%),radial-gradient(80% 60% at 80% 70%,rgba(255,225,132,.1),transparent 70%),#071225;border:1px solid var(--border);cursor:-webkit-grab;cursor:grab;touch-action:none}.teacher-class-map__canvas:active{cursor:-webkit-grabbing;cursor:grabbing}.teacher-class-map__svg{display:block;width:100%;height:100%}.teacher-class-map__skeleton{position:absolute;inset:0;display:grid;place-items:center;grid-gap:8px;gap:8px;color:var(--text-soft);font-size:.9rem;pointer-events:none}.teacher-class-map__skeleton-pulse{width:60%;height:6px;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.14),rgba(255,255,255,.04));animation:teacher-class-map-pulse 1.6s ease-in-out infinite}@keyframes teacher-class-map-pulse{0%,to{opacity:.5}50%{opacity:1}}.teacher-class-map__error{margin:0 0 4px;padding:14px 16px;border-radius:12px;background:color-mix(in srgb,var(--warning) 8%,transparent);border:1px solid color-mix(in srgb,var(--warning) 25%,transparent);color:var(--text)}.teacher-class-map__error strong{display:block;font-size:1rem;margin-bottom:4px}.teacher-class-map__error p{margin:0 0 10px;color:var(--text-soft);font-size:.9rem}.teacher-class-map__empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:32px}.teacher-class-map__empty strong{font-size:1.05rem;color:var(--text)}.teacher-class-map__empty p{margin:0;max-width:46ch;color:var(--text-soft);line-height:1.5;font-size:.92rem}.teacher-class-map__region{fill:rgba(255,255,255,.025);stroke:rgba(255,255,255,.08);stroke-width:1}.teacher-class-map__edge{stroke:rgba(255,255,255,.18);stroke-width:1;fill:none}.teacher-class-map__node-disc{fill:color-mix(in srgb,var(--primary) 60%,transparent);stroke:rgba(255,255,255,.32);stroke-width:1.5}.teacher-class-map__node-label{fill:var(--text-soft);font-size:11px;font-weight:600;paint-order:stroke;stroke:rgba(7,18,37,.85);stroke-width:3}.teacher-class-map-overlay__tint{fill:rgba(255,196,120,.12);stroke:rgba(255,196,120,.35);stroke-width:1.5;animation:teacher-class-map-tint 3.2s ease-in-out infinite}.teacher-class-map-overlay__tint[data-tint=bottleneck]{fill:rgba(255,138,138,.18);stroke:rgba(255,138,138,.55)}.teacher-class-map-overlay__tint[data-tint=low-mastery]{fill:rgba(255,213,153,.12);stroke:rgba(255,213,153,.32)}@keyframes teacher-class-map-tint{0%,to{opacity:.7}50%{opacity:1}}.teacher-class-map-overlay__badge{fill:var(--primary);stroke:rgba(7,18,37,.9);stroke-width:1.5}.teacher-class-map-overlay__badge-mark{fill:var(--on-primary);font-size:9px;font-weight:700}.teacher-class-map-marker__disc{fill:var(--accent);stroke:rgba(255,255,255,.5);stroke-width:2}.teacher-class-map-marker[data-tone=thriving] .teacher-class-map-marker__disc{fill:var(--success)}.teacher-class-map-marker[data-tone=steady] .teacher-class-map-marker__disc{fill:var(--accent)}.teacher-class-map-marker[data-tone=needs-support] .teacher-class-map-marker__disc{fill:rgba(255,196,120,.95)}.teacher-class-map-marker[data-tone=stalled] .teacher-class-map-marker__disc{fill:rgba(255,138,138,.95)}.teacher-class-map-marker[data-tone=no-data] .teacher-class-map-marker__disc{fill:var(--muted)}.teacher-class-map-marker--selected .teacher-class-map-marker__disc{stroke:var(--primary);stroke-width:3}.teacher-class-map-marker__initials{fill:var(--on-primary);font-size:10px;font-weight:700;pointer-events:none}.teacher-class-map-cluster__hit,.teacher-class-map-marker__hit{width:100%;height:100%;background:transparent;border:none;border-radius:50%;padding:0;cursor:pointer}.teacher-class-map-cluster__hit:focus-visible,.teacher-class-map-marker__hit:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.teacher-class-map-cluster__disc{fill:color-mix(in srgb,var(--primary) 85%,transparent);stroke:rgba(255,255,255,.6);stroke-width:2}.teacher-class-map-cluster[data-tone=stalled] .teacher-class-map-cluster__disc{fill:rgba(255,138,138,.95)}.teacher-class-map-cluster[data-tone=needs-support] .teacher-class-map-cluster__disc{fill:rgba(255,196,120,.95)}.teacher-class-map-cluster__count{fill:var(--on-primary);font-size:11px;font-weight:700;pointer-events:none}.teacher-class-map-detail{position:absolute;top:16px;right:16px;width:320px;max-width:calc(100% - 32px);max-height:calc(100% - 32px);overflow-y:auto;padding:16px;border-radius:14px;background:var(--surface-elevated);border:1px solid var(--border);box-shadow:0 18px 40px rgba(0,0,0,.35);color:var(--text);z-index:2}.teacher-class-map-detail__head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.teacher-class-map-detail__head h3{margin:0;font-size:1rem;font-weight:700}.teacher-class-map-detail__meta{margin:2px 0 0;color:var(--text-soft);font-size:.85rem}.teacher-class-map-detail__stats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.teacher-class-map-detail__section{margin-top:12px}.teacher-class-map-detail__section h4{margin:0 0 6px;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}.teacher-class-map-detail__chips{display:flex;flex-wrap:wrap;gap:6px}.teacher-class-map-detail__targets{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.teacher-class-map-detail__target{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:8px;background:var(--chip-bg);border:1px solid var(--border)}.teacher-class-map-detail__target-title{font-weight:600;font-size:.92rem}.teacher-class-map-detail__target-due{font-size:.78rem;color:var(--text-soft)}.teacher-class-map-detail__suggested{margin:0;font-size:.9rem;color:var(--text)}.teacher-main[data-section=dashboard]{display:flex;flex-direction:column;overflow:hidden;max-width:none;padding:24px 28px}.teacher-header[data-compact=true]{margin-bottom:16px;align-items:center}.teacher-header[data-compact=true] .teacher-title{font-size:1.4rem}.teacher-dashboard{flex:1 1;min-height:0;display:flex;flex-direction:column}.teacher-course-graph{display:flex;flex-direction:column;gap:12px}.teacher-main[data-section=dashboard] .teacher-course-graph{flex:1 1;min-height:0;padding:16px}.teacher-course-graph-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;flex-shrink:0}.teacher-course-graph-bar h2{margin:0;font-size:.92rem;font-weight:700;letter-spacing:.02em;color:var(--text-soft);text-transform:uppercase}.teacher-course-graph-empty{flex:1 1;min-height:320px;display:grid;place-items:center}.teacher-course-graph .teacher-class-map{flex:1 1;min-height:0}.teacher-course-graph-picker{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.teacher-course-graph-picker-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}.teacher-course-graph-select{min-width:160px;max-width:260px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font-size:.9rem}.teacher-course-graph-select:disabled{opacity:.75;cursor:default}.teacher-modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:var(--overlay-scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.teacher-modal{width:min(440px,100%);padding:22px 24px;border-radius:16px;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-card);color:var(--text)}.teacher-modal-title{margin:0 0 8px;font-size:1.1rem;font-weight:700}.teacher-modal-body{margin:0 0 18px;color:var(--text-soft);font-size:.92rem;line-height:1.5}.teacher-modal-actions{display:flex;justify-content:flex-end;gap:10px}.teacher-curriculum-generator{min-height:0}.subscription-page{min-height:100dvh;display:grid;place-items:center;padding:32px 16px;background:var(--bg);color:var(--text)}.subscription-page--standard{display:flex;align-items:stretch;justify-content:center;padding:clamp(78px,13dvh,132px) clamp(16px,4vw,32px) clamp(24px,5dvh,48px);background:radial-gradient(circle at 50% 16%,color-mix(in srgb,var(--primary) 15%,transparent),transparent 36%),linear-gradient(180deg,var(--bg) 0,var(--bg-soft) 100%)}.subscription-page--standard .student-page-shell{min-height:auto}.subscription-page--standard .aiza-stage-host{align-items:center}.subscription-page--standard .aiza-stage{--stage-max-w:min(540px,calc(100vw - 32px));--stage-min-h:auto;--stage-height:auto;--stage-pad-block-start:clamp(40px,6dvh,52px);--stage-pad-inline:clamp(22px,5vw,42px);--stage-external-ball-gap:82px;--stage-chrome-block-start:clamp(14px,2.2dvh,18px);--stage-chrome-edge-inset:clamp(16px,3.4vw,24px);height:auto}.subscription-page--standard .aiza-stage .aiza-stage-inner{height:auto}.subscription-stage-content{align-items:stretch;gap:16px;transition:opacity .26s ease,transform .42s var(--aiza-primary-easing)}.subscription-stage-content[data-subscription-revealed=false]{opacity:0;transform:translateY(6px)}.subscription-shell{width:min(620px,100%);display:grid;grid-template-columns:max-content minmax(0,520px);align-items:start;justify-content:center;grid-gap:10px;gap:10px}.subscription-panel{box-sizing:border-box;width:100%;display:flex;flex-direction:column;gap:18px;border:1px solid var(--border);border-radius:8px;background:var(--card);padding:clamp(24px,5vw,40px);box-shadow:0 10px 32px color-mix(in srgb,var(--text) 8%,transparent)}.subscription-back{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;min-height:30px;border:1px solid color-mix(in srgb,var(--border) 84%,transparent);border-radius:999px;background:color-mix(in srgb,var(--card) 72%,transparent);color:var(--text-soft);cursor:pointer;font:inherit;font-size:12px;font-weight:700;line-height:1;padding:6px 9px 6px 7px;backdrop-filter:blur(12px) saturate(1.08);-webkit-backdrop-filter:blur(12px) saturate(1.08)}.subscription-back:before{content:"←";font-size:13px;line-height:1}.subscription-back:hover{color:var(--text);background:var(--card);border-color:var(--border-strong)}.subscription-back:focus-visible{outline:none;box-shadow:0 0 0 4px var(--focus-ring)}.subscription-eyebrow{margin:0 0 6px;color:var(--text-soft);font-size:13px;font-weight:700;text-transform:uppercase}.subscription-panel h1{margin:0;font-size:clamp(28px,6vw,40px);line-height:1}.subscription-alert,.subscription-copy,.subscription-status,.subscription-status-box span{margin:0;color:var(--text-soft);line-height:1.5}.subscription-status-box{display:flex;flex-direction:column;gap:4px;border:1px solid var(--border);border-left-width:4px;border-radius:8px;padding:12px 14px}.subscription-status-box[data-tone=active]{border-left-color:var(--success)}.subscription-status-box[data-tone=attention]{border-left-color:var(--warning)}.subscription-status-box[data-tone=cancelled]{border-left-color:var(--danger)}.subscription-status-box[data-tone=pending]{border-left-color:var(--primary)}.subscription-alert{border-radius:8px;background:var(--bg-soft);padding:10px 12px}.subscription-alert[data-tone=active]{border:1px solid color-mix(in srgb,var(--success) 42%,var(--border))}.subscription-confirm{display:flex;flex-direction:column;gap:12px;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--bg-soft)}.subscription-confirm p{margin:0;color:var(--text);line-height:1.5}.subscription-confirm-actions{display:flex;flex-wrap:wrap;gap:10px}.subscription-actions{display:flex;flex-direction:column;gap:10px}.subscription-products{display:grid;grid-gap:12px;gap:12px}.subscription-product{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--border);border-radius:8px;padding:14px}.subscription-page--standard .subscription-products{gap:0}.subscription-page--standard .subscription-product{border:0;border-radius:0;padding:0;gap:12px}.subscription-page--standard .subscription-actions .btn,.subscription-page--standard .subscription-product .btn{width:100%}.subscription-page--standard .subscription-product .btn:not(:disabled){box-shadow:0 14px 34px color-mix(in srgb,var(--primary) 28%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent);transition:transform .18s ease,box-shadow .22s ease,background .18s ease}.subscription-page--standard .subscription-product .btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 18px 44px color-mix(in srgb,var(--primary) 36%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 34%,transparent)}@media (prefers-reduced-motion:reduce){.subscription-page--standard .subscription-product .btn:not(:disabled),.subscription-stage-content{transition:none}.subscription-page--standard .subscription-product .btn:not(:disabled):hover,.subscription-stage-content[data-subscription-revealed=false]{transform:none}}.subscription-product-title{color:var(--text);font-size:clamp(19px,3vw,23px);font-weight:850;letter-spacing:0;line-height:1.12}.subscription-product p,.subscription-product span{margin:0;color:var(--text-soft);line-height:1.45}.subscription-product-state{font-weight:700}.subscription-product-options{display:grid;grid-gap:10px;gap:10px}.subscription-product-option{display:grid;grid-gap:6px;gap:6px;width:100%;text-align:left;border:1px solid var(--border);border-radius:10px;padding:14px 16px;background:transparent;color:var(--text);cursor:pointer;font:inherit;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.subscription-product-option:hover{border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}.subscription-product-option:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.subscription-product-option[data-selected=true]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);box-shadow:0 0 0 1px var(--primary)}.subscription-product-option-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.subscription-product-option-title{font-weight:800;font-size:clamp(16px,2.4vw,18px);color:var(--text)}.subscription-product-option-price{font-weight:800;color:var(--primary-strong);font-size:clamp(15px,2.2vw,17px);white-space:nowrap}.subscription-product-option-cadence{font-size:13px;font-weight:600;color:var(--text-soft)}.subscription-product-option-desc{margin:0;color:var(--text-soft);line-height:1.4}.subscription-page--standard .subscription-products>.btn{width:100%}.subscription-page--standard .subscription-products>.btn:not(:disabled){box-shadow:0 14px 34px color-mix(in srgb,var(--primary) 28%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent);transition:transform .18s ease,box-shadow .22s ease,background .18s ease}.subscription-page--standard .subscription-products>.btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 18px 44px color-mix(in srgb,var(--primary) 36%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 34%,transparent)}@media (prefers-reduced-motion:reduce){.subscription-page--standard .subscription-products>.btn:not(:disabled),.subscription-product-option{transition:none}.subscription-page--standard .subscription-products>.btn:not(:disabled):hover{transform:none}}.subscription-actions .btn{min-width:180px}.subscription-confirm .btn{min-width:160px}.subscription-page--supporter{display:flex;align-items:stretch;justify-content:center;padding:clamp(78px,13dvh,132px) clamp(16px,4vw,32px) clamp(24px,5dvh,48px);background:radial-gradient(circle at 50% 16%,color-mix(in srgb,var(--primary) 15%,transparent),transparent 36%),linear-gradient(180deg,var(--bg) 0,var(--bg-soft) 100%)}.subscription-page--supporter .student-page-shell{min-height:auto}.subscription-page--supporter .aiza-stage-host{align-items:center}.subscription-page--supporter .aiza-stage{--stage-max-w:min(420px,calc(100vw - 32px));--stage-min-h:auto;--stage-pad-block-start:clamp(20px,3.4dvh,30px);--stage-pad-inline:clamp(20px,4.5vw,32px);--stage-external-ball-gap:64px;--stage-height:auto;height:auto}.subscription-page--supporter .aiza-stage:has(.aiza-stage-back-button,.aiza-stage-dev-next-button) .aiza-stage-header{padding-inline:clamp(0px,2vw,24px);margin-top:clamp(30px,4dvh,40px)}.subscription-page--supporter .aiza-stage-title{white-space:nowrap}.subscription-page--supporter .aiza-stage .aiza-stage-inner{height:auto}.subscription-stage-content--supporter{gap:14px}.subscription-supporter-copy{margin:0;color:var(--text-soft);line-height:1.45;text-align:center}.subscription-supporter-cta{width:100%}.subscription-supporter-cta:not(:disabled){box-shadow:0 14px 34px color-mix(in srgb,var(--primary) 28%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent);transition:transform .18s ease,box-shadow .22s ease,background .18s ease}.subscription-supporter-cta:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 18px 44px color-mix(in srgb,var(--primary) 36%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 34%,transparent)}@media (prefers-reduced-motion:reduce){.subscription-supporter-cta:not(:disabled){transition:none}.subscription-supporter-cta:not(:disabled):hover{transform:none}}.subscription-panel .btn.danger{background:var(--danger);color:var(--on-primary)}.entitlement-lock{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-soft);color:var(--text);padding:14px}.entitlement-lock p{margin:0;line-height:1.45}.entitlement-lock p,.entitlement-lock--loading{color:var(--text-soft)}.entitlement-lock__cta{align-self:flex-start;border:0;border-radius:8px;background:var(--primary);color:var(--on-primary);cursor:pointer;font:inherit;font-weight:700;padding:9px 13px}.entitlement-lock__adult{color:var(--text-soft);font-size:13px;line-height:1.4}.premium-lock{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;outline-offset:2px}.premium-lock[role=note]{cursor:default}.premium-lock__content{display:inline-flex;pointer-events:none;opacity:.55;filter:grayscale(.2)}.premium-lock__badge{position:absolute;right:-3px;bottom:-3px;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-size:.55rem;line-height:1;box-shadow:0 0 0 2px var(--bg);pointer-events:none}.premium-lock__pop{position:absolute;z-index:60;display:flex;flex-direction:column;gap:6px;width:max-content;max-width:240px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm,10px);background:var(--bg);color:var(--text);box-shadow:var(--shadow-card);text-align:left;white-space:normal;opacity:0;visibility:hidden;transform:translate(var(--pl-x,0),var(--pl-y,0)) scale(.98);transition:opacity .12s ease,transform .12s ease,visibility 0s linear .12s;pointer-events:none}.premium-lock__pop[data-placement=top]{bottom:calc(100% + 8px);left:50%;--pl-x:-50%;--pl-y:4px}.premium-lock__pop[data-placement=bottom]{top:calc(100% + 8px);left:50%;--pl-x:-50%;--pl-y:-4px}.premium-lock__pop[data-placement=left]{right:calc(100% + 8px);top:50%;--pl-x:4px;--pl-y:-50%}.premium-lock__pop[data-placement=right]{left:calc(100% + 8px);top:50%;--pl-x:-4px;--pl-y:-50%}.premium-lock:hover .premium-lock__pop,.premium-lock[data-open=true] .premium-lock__pop{opacity:1;visibility:visible;transform:translate(var(--pl-x,0)) scale(1);transition:opacity .12s ease,transform .12s ease;pointer-events:auto}.premium-lock:hover .premium-lock__pop[data-placement=left],.premium-lock:hover .premium-lock__pop[data-placement=right],.premium-lock[data-open=true] .premium-lock__pop[data-placement=left],.premium-lock[data-open=true] .premium-lock__pop[data-placement=right]{transform:translateY(-50%) scale(1)}.premium-lock__msg{margin:0;font-size:13px;font-weight:600;line-height:1.4;color:var(--text)}.premium-lock__cta{align-self:flex-start;font-size:13px;font-weight:700;color:var(--primary-strong)}.premium-lock__adult{font-size:12.5px;line-height:1.4;color:var(--text-soft)}@media (prefers-reduced-motion:reduce){.premium-lock__pop{transition:opacity 1ms linear,visibility 0s linear 1ms;transform:translate(var(--pl-x,0))}.premium-lock:hover .premium-lock__pop,.premium-lock[data-open=true] .premium-lock__pop{transform:translate(var(--pl-x,0));transition:opacity 1ms linear}.premium-lock:hover .premium-lock__pop[data-placement=left],.premium-lock:hover .premium-lock__pop[data-placement=right],.premium-lock[data-open=true] .premium-lock__pop[data-placement=left],.premium-lock[data-open=true] .premium-lock__pop[data-placement=right]{transform:translateY(-50%)}}