@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary: #005ab4;--primary-container: #0a73e0;--on-primary: #ffffff;--on-primary-container: #fefcff;--primary-hover: color-mix(in srgb, var(--primary) 85%, black);--primary-soft: color-mix(in srgb, var(--primary) 10%, white);--secondary: #465f88;--secondary-container: #b6d0ff;--on-secondary-container: #3f5881;--tertiary: #964400;--error: #ba1a1a;--error-container: #ffdad6;--on-error-container: #93000a;--background: #f9f9ff;--surface: #f9f9ff;--surface-lowest: #ffffff;--surface-low: #f1f3fc;--surface-container: #ebedf7;--surface-high: #e6e8f1;--on-surface: #181c22;--on-surface-variant: #414753;--outline: #717785;--outline-variant: #c1c6d5;--radius: .5rem;--radius-lg: .75rem;--font: Inter, "Segoe UI", sans-serif;--success: #15803d;--focus: var(--tertiary);--accent: var(--tertiary);--text: var(--on-surface-variant);--text-strong: var(--on-surface);--text-muted: var(--on-surface-variant);--border: var(--outline-variant);--border-soft: var(--surface-high);--sans: var(--font);--heading: Inter, "Segoe UI", sans-serif;font:15px/1.45 var(--font);letter-spacing:0;color:var(--on-surface-variant);background:var(--background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}body{margin:0;min-width:320px;font-family:var(--font)}h1,h2{font-family:var(--heading);color:var(--on-surface);letter-spacing:0}h1{font-size:32px;line-height:40px;font-weight:600}h2{font-size:19px;line-height:1.2;font-weight:600}p{margin:0}*{box-sizing:border-box}.white-label-studio{max-width:1240px;margin:0 auto;padding:8px 0 40px;display:grid;gap:16px;font-family:var(--font, Inter, "Segoe UI", sans-serif);color:var(--on-surface-variant, #414753)}.wls-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}.wls-heading .eyebrow{display:inline-block;margin:0 0 8px;color:var(--primary, #005ab4);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.wls-heading h1{margin:0 0 6px;color:var(--on-surface, #181c22);font-size:22px;font-weight:700;letter-spacing:-.02em}.wls-heading p{margin:0;max-width:40rem;color:var(--on-surface-variant, #414753);font-size:14px;line-height:1.5}.wls-actions{display:flex;gap:10px;flex-wrap:wrap}.white-label-studio .text-button,.white-label-studio .secondary-button,.white-label-studio .primary-button{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:var(--radius, .5rem);font-size:13px;font-weight:600;cursor:pointer}.white-label-studio .text-button{border:0;color:var(--on-surface-variant, #414753);background:var(--surface-container, #ebedf7)}.white-label-studio .secondary-button{border:1px solid var(--outline-variant, #c1c6d5);color:var(--on-surface, #181c22);background:var(--surface-lowest, #ffffff)}.white-label-studio .primary-button{border:0;color:var(--on-primary, #ffffff);background:var(--primary, #005ab4)}.white-label-studio .primary-button:hover:not(:disabled){background:var(--primary-container, #0a73e0)}.white-label-studio .primary-button:disabled,.white-label-studio .secondary-button:disabled{opacity:.45;cursor:not-allowed}.wls-banner,.wls-status{margin:0;padding:10px 14px;border-radius:var(--radius, .5rem);font-size:13px}.wls-banner{color:var(--on-error-container, #93000a);background:var(--error-container, #ffdad6)}.wls-status{color:var(--on-secondary-container, #3f5881);background:var(--secondary-container, #b6d0ff)}.wls-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.wls-panel{border:1px solid var(--outline-variant, #c1c6d5);background:var(--surface-lowest, #ffffff);border-radius:var(--radius-lg, .75rem);box-shadow:0 1px 8px #0000000a;padding-bottom:8px}.white-label-studio .section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 8px}.white-label-studio .section-heading h2{margin:0 0 4px;color:var(--on-surface, #181c22);font-size:16px;font-weight:700}.white-label-studio .section-heading p{margin:0;color:var(--on-surface-variant, #414753);font-size:13px}.wls-theme-grid{padding:8px 16px 6px;display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.wls-theme-name{margin:0;padding:0 16px 16px;color:var(--on-surface-variant, #414753);font-size:12px;text-transform:capitalize}.wls-field{display:grid;gap:6px;margin:0 16px 16px;color:var(--on-surface-variant, #414753);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.wls-field input{width:100%;box-sizing:border-box;padding:9px 12px;border:1px solid transparent;border-radius:var(--radius, .5rem);color:var(--on-surface, #181c22);background:var(--surface-low, #f1f3fc);font:inherit;font-size:14px;font-weight:500;letter-spacing:0;text-transform:none}.wls-field input:focus{outline:2px solid var(--primary, #005ab4);background:var(--surface-lowest, #ffffff)}.wls-upload{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px dashed var(--outline-variant, #c1c6d5);border-radius:var(--radius, .5rem);color:var(--on-surface-variant, #414753);background:var(--surface-low, #f1f3fc)}.wls-upload input{border:0;background:transparent;font-size:13px;padding:0}.wls-file-name{margin:-10px 16px 16px;color:var(--on-surface-variant, #414753);font-size:12px}.wls-tabs{display:flex;gap:6px;padding:4px 16px 0}.wls-tab{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:0;border-radius:var(--radius, .5rem);color:var(--on-surface-variant, #414753);background:var(--surface-low, #f1f3fc);font-size:12px;font-weight:600;cursor:pointer}.wls-tab[aria-selected=true]{color:var(--primary, #005ab4);background:var(--surface-lowest, #ffffff);box-shadow:0 1px 8px #0000000a}.wls-preview-surface{margin:16px;border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius-lg, .75rem);overflow:hidden}.wls-preview-shell{display:grid}.wls-preview-topbar{height:34px;display:flex;align-items:center;gap:6px;padding:0 12px}.wls-preview-topbar span{width:8px;height:8px;border-radius:50%;background:#ffffffb3}.wls-preview-body{padding:20px;display:grid;gap:8px}.wls-preview-mobile .wls-preview-shell{max-width:260px;margin:0 auto}.wls-preview-email{padding:0 0 18px}.wls-preview-email-header{padding:14px 18px;color:#fff}.wls-preview-email p{padding:0 18px;margin-top:12px}.wls-preview-footer{color:var(--on-surface-variant, #414753);font-size:12px}.wls-loading{display:flex;align-items:center;gap:8px;padding:16px;color:var(--on-surface-variant, #414753);font-size:13px}.wls-spin{animation:wls-spin 1s linear infinite}@keyframes wls-spin{to{transform:rotate(360deg)}}.wls-domains{grid-column:1 / -1}.wls-domain-list{list-style:none;margin:0;padding:0}.wls-domain-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 120px auto;align-items:center;gap:12px;padding:14px 16px;border-top:1px solid var(--outline-variant, #c1c6d5)}.wls-domain-host{display:grid;gap:3px;min-width:0}.wls-domain-host strong{color:var(--on-surface, #181c22);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wls-domain-host small{color:var(--on-surface-variant, #414753);font-size:11px;text-transform:capitalize}.wls-domain-actions{display:flex;align-items:center;gap:8px;justify-self:end}.wls-status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:600;text-transform:capitalize;justify-self:start}.wls-status-verified,.wls-status-cert-issued{color:var(--on-secondary-container, #3f5881);background:var(--secondary-container, #b6d0ff)}.wls-status-pending,.wls-status-cert-provisioning,.wls-status-cert-none,.wls-status-failed,.wls-status-cert-failed{color:var(--on-error-container, #93000a);background:var(--error-container, #ffdad6)}.white-label-studio .empty-courses{padding:16px;color:var(--on-surface-variant, #414753);font-size:14px}.white-label-studio .dialog-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#181c2270}.white-label-studio .course-dialog{width:min(460px,100%);border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius-lg, .75rem);background:var(--surface-lowest, #ffffff);box-shadow:0 24px 55px #181c222e}.white-label-studio .dialog-heading{display:flex;justify-content:space-between;gap:16px;padding:16px 16px 0}.white-label-studio .dialog-heading .eyebrow{display:inline-block;margin:0 0 6px;color:var(--primary, #005ab4);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.white-label-studio .dialog-heading h2{margin:0;color:var(--on-surface, #181c22);font-size:18px}.white-label-studio .course-dialog form{display:grid;gap:14px;padding:16px}.white-label-studio .course-dialog label{display:grid;gap:6px;color:var(--on-surface-variant, #414753);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.white-label-studio .course-dialog input,.white-label-studio .course-dialog select{width:100%;padding:9px 12px;border:1px solid transparent;border-radius:var(--radius, .5rem);color:var(--on-surface, #181c22);background:var(--surface-low, #f1f3fc);font:inherit;font-size:14px;font-weight:500;letter-spacing:0;text-transform:none}.white-label-studio .course-dialog input:focus,.white-label-studio .course-dialog select:focus{outline:2px solid var(--primary, #005ab4);background:var(--surface-lowest, #ffffff)}.white-label-studio .dialog-actions{display:flex;justify-content:flex-end;gap:12px}.white-label-studio .form-error{margin:0;color:var(--on-error-container, #93000a);font-size:13px}.white-label-studio .icon-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius, .5rem);background:var(--surface-lowest, #ffffff);color:var(--on-surface-variant, #414753);cursor:pointer}@media(max-width:980px){.wls-grid{grid-template-columns:1fr}.wls-domains{grid-column:auto}.wls-theme-grid{grid-template-columns:repeat(3,1fr)}.wls-domain-row{grid-template-columns:minmax(0,1fr) auto}.wls-status-badge:nth-child(3){display:none}}.content-studio{display:grid;gap:16px;font-family:var(--font, Inter, "Segoe UI", sans-serif);color:var(--on-surface-variant, #414753)}.content-studio .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.content-studio-heading{padding:4px 2px 8px}.content-studio-heading .eyebrow{display:inline-block;margin:0 0 8px;color:var(--primary, #005ab4);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.content-studio-heading h2{margin:0 0 6px;color:var(--on-surface, #181c22);font-size:22px;font-weight:700;letter-spacing:-.02em}.content-studio-heading p{margin:0;max-width:52rem;color:var(--on-surface-variant, #414753);font-size:14px;line-height:1.5}.content-studio-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.content-studio-intake,.content-studio-queue,.content-studio-preview{padding:16px;border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius-lg, .75rem);background:var(--surface-lowest, #ffffff);box-shadow:0 1px 8px #0000000a}.content-studio-preview{grid-column:1 / -1}.content-studio-queue h3,.content-studio-preview h3{margin:0 0 14px;color:var(--on-surface, #181c22);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.dropzone{display:grid;justify-items:center;gap:6px;padding:28px 16px;border:1px dashed var(--outline-variant, #c1c6d5);border-radius:var(--radius-lg, .75rem);color:var(--on-surface-variant, #414753);background:var(--surface-low, #f1f3fc);text-align:center;cursor:pointer}.dropzone:hover,.dropzone-active{border-color:var(--primary, #005ab4);color:var(--primary, #005ab4);background:color-mix(in srgb,var(--primary, #005ab4) 8%,var(--surface-lowest, #ffffff))}.dropzone:focus-visible{outline:2px solid var(--primary, #005ab4);outline-offset:2px}.dropzone strong{color:var(--on-surface, #181c22);font-size:15px;font-weight:600}.dropzone span{font-size:12px}.link-form{margin-top:18px;display:grid;gap:12px}.link-form fieldset{display:flex;gap:16px;border:0;padding:0;margin:0;color:var(--on-surface, #181c22);font-size:12px;font-weight:600}.link-form legend{margin:0 0 8px;padding:0;color:var(--on-surface-variant, #414753);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.link-form label{display:grid;gap:6px;color:var(--on-surface-variant, #414753);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.link-form fieldset label{display:flex;align-items:center;gap:6px;letter-spacing:0;text-transform:none;font-size:13px;font-weight:500;color:var(--on-surface, #181c22)}.link-form input[type=text],.link-form input:not([type=radio]),.link-form textarea{width:100%;padding:9px 12px;border:1px solid transparent;border-radius:var(--radius, .5rem);color:var(--on-surface, #181c22);background:var(--surface-low, #f1f3fc);font:inherit;font-size:14px;resize:vertical}.link-form input:focus,.link-form textarea:focus{outline:2px solid var(--primary, #005ab4);background:var(--surface-lowest, #ffffff)}.content-studio .secondary-button{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border:0;border-radius:var(--radius, .5rem);color:var(--on-primary, #ffffff);background:var(--primary, #005ab4);font-size:13px;font-weight:600;cursor:pointer}.content-studio .secondary-button:hover:not(:disabled){background:var(--primary-container, #0a73e0)}.content-studio .secondary-button:disabled{opacity:.45;cursor:not-allowed}.content-studio-queue ul,.citation-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.queue-empty{color:var(--on-surface-variant, #414753);font-size:14px}.queue-item{border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius, .5rem);padding:12px;display:grid;gap:8px;background:var(--surface-lowest, #ffffff)}.queue-item-selected{border-color:var(--primary, #005ab4);background:color-mix(in srgb,var(--primary, #005ab4) 8%,var(--surface-lowest, #ffffff))}.queue-item-button{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;text-align:left;color:inherit;cursor:pointer}.queue-item-button span{display:grid;gap:2px;min-width:0}.queue-item-button strong{color:var(--on-surface, #181c22);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item-button small{color:var(--on-surface-variant, #414753);font-size:11px;text-transform:capitalize}.status-icon.status-completed{color:var(--success, #15803d)}.status-icon.status-failed{color:var(--error, #ba1a1a)}.status-icon.status-cancelled,.status-icon.status-queued{color:var(--on-surface-variant, #414753)}.status-icon.status-active{color:var(--primary, #005ab4)}.spin{animation:content-studio-spin 1s linear infinite}@keyframes content-studio-spin{to{transform:rotate(360deg)}}.progress-track{height:6px;border-radius:999px;background:var(--surface-container, #ebedf7);overflow:hidden}.progress-track i{display:block;height:100%;background:var(--primary, #005ab4);border-radius:inherit}.queue-item-actions{display:flex;gap:8px}.queue-item-actions button{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius, .5rem);color:var(--on-surface, #181c22);background:var(--surface-lowest, #ffffff);font-size:12px;font-weight:600;cursor:pointer}.queue-item-actions button:disabled{opacity:.45;cursor:not-allowed}.queue-item-actions button:not(:disabled):hover{color:var(--primary, #005ab4);border-color:var(--primary, #005ab4)}.preview-title{color:var(--on-surface, #181c22);font-size:16px;font-weight:700;margin:0 0 8px}.preview-text{color:var(--on-surface-variant, #414753);font-size:14px;line-height:1.5;margin-bottom:14px}.citation-list li{display:flex;gap:8px;align-items:flex-start;padding:12px;border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius, .5rem);background:var(--surface-low, #f1f3fc);color:var(--primary, #005ab4)}.citation-list li span{display:grid;gap:2px}.citation-list li strong{color:var(--on-surface, #181c22);font-size:12px}.citation-list li small{color:var(--on-surface-variant, #414753);font-size:12px}.form-error{color:var(--on-error-container, #93000a);background:var(--error-container, #ffdad6);border-radius:var(--radius, .5rem);font-size:12px;margin:0;padding:8px 10px}@media(max-width:960px){.content-studio-grid{grid-template-columns:1fr}.content-studio-preview{grid-column:auto}}.curriculum-editor{display:grid;gap:0;font-family:var(--font, Inter, "Segoe UI", sans-serif);color:var(--on-surface-variant, #414753)}.curriculum-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:4px 2px 16px}.curriculum-toolbar .eyebrow{display:inline-block;margin:0 0 8px;color:var(--primary, #005ab4);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.curriculum-toolbar h2{margin:0 0 6px;color:var(--on-surface, #181c22);font-size:22px;font-weight:700;letter-spacing:-.02em}.curriculum-toolbar p{margin:0;max-width:40rem;color:var(--on-surface-variant, #414753);font-size:14px;line-height:1.5}.curriculum-editor .primary-button{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border:0;border-radius:var(--radius, .5rem);color:var(--on-primary, #ffffff);background:var(--primary, #005ab4);font-size:13px;font-weight:600;cursor:pointer}.curriculum-editor .primary-button:hover{background:var(--primary-container, #0a73e0)}.curriculum-notice{margin:0 0 12px;padding:10px 14px;color:var(--on-error-container, #93000a);background:var(--error-container, #ffdad6);border-radius:var(--radius, .5rem);font-size:13px}.curriculum-empty{margin:0;padding:32px 16px;color:var(--on-surface-variant, #414753);text-align:center;background:var(--surface-lowest, #ffffff);border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius-lg, .75rem);box-shadow:0 1px 8px #0000000a}.curriculum-tree,.curriculum-tree ul{list-style:none;margin:0;padding:0}.curriculum-tree{overflow:hidden;border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius-lg, .75rem);background:var(--surface-lowest, #ffffff);box-shadow:0 1px 8px #0000000a}.curriculum-tree li{display:block}.curriculum-node-row{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 16px 8px 8px;border-bottom:1px solid var(--outline-variant, #c1c6d5)}.curriculum-tree li:last-child>.curriculum-node-row{border-bottom:0}.curriculum-node-row:focus{outline:none}.curriculum-node-row:focus-visible,.curriculum-node-row[aria-selected=true]{background:color-mix(in srgb,var(--primary, #005ab4) 8%,var(--surface-lowest, #ffffff))}.curriculum-node-row.is-archived{opacity:.55}.curriculum-toggle{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:var(--radius, .5rem);color:var(--on-surface-variant, #414753);background:transparent;cursor:pointer}.curriculum-toggle:not(:disabled):hover{color:var(--primary, #005ab4);background:var(--surface-low, #f1f3fc)}.curriculum-toggle:disabled{cursor:default}.curriculum-leaf-dot{width:5px;height:5px;border-radius:50%;background:var(--outline-variant, #c1c6d5)}.curriculum-badge{flex:0 0 auto;padding:3px 9px;border-radius:999px;color:var(--on-secondary-container, #3f5881);background:var(--secondary-container, #b6d0ff);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.curriculum-node-title{flex:1 1 auto;min-width:0;color:var(--on-surface, #181c22);font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.curriculum-rename-input{flex:1 1 auto;min-width:0;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius, .5rem);color:var(--on-surface, #181c22);background:var(--surface-low, #f1f3fc);font:inherit;font-size:14px}.curriculum-rename-input:focus{outline:2px solid var(--primary, #005ab4);background:var(--surface-lowest, #ffffff)}.curriculum-actions{flex:0 0 auto;display:flex;align-items:center;gap:4px}.curriculum-actions .icon-button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius, .5rem);color:var(--on-surface-variant, #414753);background:var(--surface-lowest, #ffffff);cursor:pointer}.curriculum-actions .icon-button:hover{color:var(--primary, #005ab4);border-color:var(--primary, #005ab4)}.curriculum-actions .text-button{padding:4px 8px;display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--primary, #005ab4);font-size:12px;font-weight:600;cursor:pointer}.curriculum-editor .dialog-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#181c2270}.curriculum-editor .course-dialog{width:min(460px,100%);border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius-lg, .75rem);background:var(--surface-lowest, #ffffff);box-shadow:0 1px 8px #0000000a}.curriculum-editor .dialog-heading{display:flex;justify-content:space-between;gap:16px;align-items:start;padding:16px 16px 0}.curriculum-editor .dialog-heading .eyebrow{display:inline-block;margin:0 0 6px;color:var(--primary, #005ab4);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.curriculum-editor .dialog-heading h2{margin:0;color:var(--on-surface, #181c22);font-size:18px;font-weight:700}.curriculum-editor .course-dialog form{display:grid;gap:14px;padding:16px}.curriculum-editor .course-dialog label{display:grid;gap:6px;color:var(--on-surface-variant, #414753);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.curriculum-editor .course-dialog input,.curriculum-editor .course-dialog select{width:100%;padding:9px 12px;border:1px solid transparent;border-radius:var(--radius, .5rem);color:var(--on-surface, #181c22);background:var(--surface-low, #f1f3fc);font:inherit;font-size:14px;text-transform:none;letter-spacing:0;font-weight:500}.curriculum-editor .course-dialog input:focus,.curriculum-editor .course-dialog select:focus{outline:2px solid var(--primary, #005ab4);background:var(--surface-lowest, #ffffff)}.curriculum-editor .dialog-actions{display:flex;justify-content:flex-end;gap:12px}.curriculum-editor .text-button{border:0;background:transparent;color:var(--primary, #005ab4);font-size:13px;font-weight:600;cursor:pointer}.curriculum-editor .form-error{margin:0;color:var(--on-error-container, #93000a);font-size:13px}.curriculum-editor .icon-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius, .5rem);color:var(--on-surface-variant, #414753);background:var(--surface-lowest, #ffffff);cursor:pointer}@media(max-width:720px){.curriculum-toolbar{flex-direction:column;align-items:stretch}.curriculum-actions{flex-wrap:wrap}}.enrollment-admin{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;font-family:var(--font, Inter, "Segoe UI", sans-serif);color:var(--on-surface-variant, #414753)}.enrollment-admin button{font:inherit;cursor:pointer}.enrollment-admin .primary-button,.enrollment-admin .secondary-button,.enrollment-admin .text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:var(--radius, .5rem);font-weight:600}.enrollment-admin .primary-button{height:36px;padding:0 14px;border:0;color:var(--on-primary, #ffffff);background:var(--primary, #005ab4);font-size:13px}.enrollment-admin .primary-button:hover{background:var(--primary-container, #0a73e0)}.enrollment-admin .secondary-button{height:36px;padding:0 14px;border:1px solid var(--outline-variant, #c1c6d5);color:var(--primary, #005ab4);background:var(--surface-lowest, #ffffff);font-size:13px}.enrollment-admin .secondary-button:hover{background:var(--surface-low, #f1f3fc)}.enrollment-admin .text-button{padding:6px;border:0;color:var(--primary, #005ab4);background:transparent;font-size:13px}.enrollment-admin .icon-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius, .5rem);color:var(--on-surface-variant, #414753);background:var(--surface-lowest, #ffffff)}.enrollment-admin .icon-button:hover{border-color:var(--primary, #005ab4);color:var(--primary, #005ab4)}.enrollment-admin .panel{border:1px solid var(--outline-variant, #c1c6d5);background:var(--surface-lowest, #ffffff);border-radius:var(--radius-lg, .75rem);box-shadow:0 1px 8px #0000000a}.enrollment-admin .panel:nth-of-type(3),.enrollment-admin .dialog-backdrop{grid-column:1 / -1}.enrollment-admin .panel-heading{min-height:64px;box-sizing:border-box;padding:16px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.enrollment-admin .panel-heading .eyebrow{display:inline-block;margin:0 0 6px;color:var(--primary, #005ab4);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.enrollment-admin .panel-heading h2{margin:0 0 4px;color:var(--on-surface, #181c22);font-size:18px;font-weight:700;letter-spacing:-.02em}.enrollment-admin .panel-heading p{margin:0;font-size:13px;color:var(--on-surface-variant, #414753)}.enrollment-admin table{width:100%;border-collapse:collapse}.enrollment-admin th,.enrollment-admin td{padding:12px 16px;text-align:left;font-size:14px;border-top:1px solid var(--outline-variant, #c1c6d5)}.enrollment-admin th{color:var(--on-surface-variant, #414753);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.enrollment-admin td{color:var(--on-surface-variant, #414753)}.enrollment-admin td strong{color:var(--on-surface, #181c22)}.enrollment-admin tr:last-child td{border-bottom:0}.enrollment-admin .empty-row{padding:22px 16px;color:var(--on-surface-variant, #414753);font-size:14px}.enrollment-admin .badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;text-transform:capitalize}.enrollment-admin .badge.code,.enrollment-admin .badge.link{color:var(--on-secondary-container, #3f5881);background:var(--secondary-container, #b6d0ff)}.enrollment-admin .badge.expired,.enrollment-admin .badge.revoked{color:var(--on-error-container, #93000a);background:var(--error-container, #ffdad6)}.enrollment-admin .code-chip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:3px 7px;border-radius:var(--radius, .5rem);background:var(--surface-low, #f1f3fc);color:var(--on-surface, #181c22)}.enrollment-admin .link-button{border:0;background:transparent;color:var(--primary, #005ab4);font-size:12px;font-weight:600;padding:0}.enrollment-admin .link-button:hover{text-decoration:underline}.enrollment-admin .link-button.danger{color:var(--error, #ba1a1a)}.enrollment-admin .import-form{padding:0 16px 16px;display:grid;gap:12px}.enrollment-admin .import-form label{display:grid;gap:6px;color:var(--on-surface-variant, #414753);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.enrollment-admin .import-form label span{color:var(--on-surface-variant, #414753);font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}.enrollment-admin .import-form textarea{width:100%;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius, .5rem);color:var(--on-surface, #181c22);background:var(--surface-low, #f1f3fc);font:inherit;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}.enrollment-admin .import-form textarea:focus{outline:2px solid var(--primary, #005ab4);background:var(--surface-lowest, #ffffff)}.enrollment-admin .import-actions{display:flex;justify-content:flex-end}.enrollment-admin .import-results{margin:0 16px 16px;padding:0;border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius, .5rem);overflow:hidden}.enrollment-admin .import-results li{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:13px;border-bottom:1px solid var(--outline-variant, #c1c6d5)}.enrollment-admin .import-results li:last-child{border-bottom:0}.enrollment-admin .import-results li.success{color:var(--success, #15803d)}.enrollment-admin .import-results li.failure{color:var(--on-error-container, #93000a);background:var(--error-container, #ffdad6)}.enrollment-admin .form-error{color:var(--on-error-container, #93000a);font-size:13px;margin:0 16px}.enrollment-admin .admin-dialog .form-error{margin:0}.enrollment-admin .dialog-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#181c2270}.enrollment-admin .admin-dialog{width:min(460px,100%);border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius-lg, .75rem);background:var(--surface-lowest, #ffffff);box-shadow:0 24px 55px #181c222e}.enrollment-admin .dialog-heading{display:flex;justify-content:space-between;gap:16px;align-items:start;padding:16px 16px 0}.enrollment-admin .dialog-heading h2{margin:0;color:var(--on-surface, #181c22);font-size:18px;font-weight:700}.enrollment-admin .admin-dialog form{display:grid;gap:16px;padding:16px}.enrollment-admin .admin-dialog label{display:grid;gap:6px;color:var(--on-surface-variant, #414753);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.enrollment-admin .admin-dialog fieldset{display:flex;gap:16px;border:0;padding:0;margin:0;color:var(--on-surface, #181c22);font-size:13px;font-weight:600;letter-spacing:0;text-transform:none}.enrollment-admin .admin-dialog fieldset label{display:flex;align-items:center;gap:5px;font-weight:500;text-transform:none;letter-spacing:0}.enrollment-admin .admin-dialog input,.enrollment-admin .admin-dialog select{width:100%;padding:9px 12px;border:1px solid transparent;border-radius:var(--radius, .5rem);color:var(--on-surface, #181c22);background:var(--surface-low, #f1f3fc);font:inherit;font-size:14px;font-weight:500;letter-spacing:0;text-transform:none}.enrollment-admin .admin-dialog input:focus,.enrollment-admin .admin-dialog select:focus{outline:2px solid var(--primary, #005ab4);background:var(--surface-lowest, #ffffff)}.enrollment-admin .dialog-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:4px}.enrollment-admin .icon-close{border:0;background:transparent;color:var(--on-surface-variant, #414753);cursor:pointer}@media(max-width:900px){.enrollment-admin{grid-template-columns:1fr}.enrollment-admin .panel:nth-of-type(3),.enrollment-admin .dialog-backdrop{grid-column:auto}}.parent-dashboard .parent-heading{grid-column:1 / -1;display:grid;gap:8px}.parent-dashboard{--if-primary: #005ab4;--if-surface: #f9f9ff;--if-card: #ffffff;--if-text: #181c22;--if-muted: #414753;--if-chip: #b6d0ff;--if-tertiary: #964400;--if-container: #ebedf7;--if-container-low: #f1f3fc;--if-radius: .75rem;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:8px 0 24px;color:var(--if-text);font-family:Inter,system-ui,sans-serif}.parent-dashboard .learner-card{display:grid;gap:14px;padding:20px;border-radius:var(--if-radius);background:var(--if-card);box-shadow:0 1px 8px #181c220a}.parent-dashboard .learner-heading{display:flex;align-items:center;gap:12px}.parent-dashboard .learner-avatar{width:48px;height:48px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:#3f5881;background:var(--if-chip);font-size:14px;font-weight:700}.parent-dashboard .learner-heading strong{display:block;color:var(--if-text);font-size:16px;font-family:Inter,system-ui,sans-serif}.parent-dashboard .learner-heading small{color:var(--if-muted);font-size:12px}.parent-dashboard .field-list{display:grid;gap:10px}.parent-dashboard .field-row{display:grid;gap:4px;min-height:44px;padding:10px 0 0;border-top:1px solid var(--if-container)}.parent-dashboard .field-row:first-child{border-top:0;padding-top:0}.parent-dashboard .field-row span{color:var(--if-muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.parent-dashboard .field-row strong{color:var(--if-text);font-size:14px}.parent-dashboard .field-deadline strong{color:var(--if-tertiary)}.parent-dashboard .field-row .withheld{color:var(--if-muted);font-size:13px;font-style:italic;text-transform:none;letter-spacing:0;font-weight:500}.parent-dashboard .progress-track{height:10px;overflow:hidden;border-radius:999px;background:var(--if-container);margin-top:4px}.parent-dashboard .progress-track i{display:block;height:100%;border-radius:inherit;background:var(--if-primary)}.parent-dashboard .empty-state{grid-column:1 / -1;padding:48px 24px;text-align:center;color:var(--if-muted);border-radius:var(--if-radius);background:var(--if-card);box-shadow:0 1px 8px #181c220a}.knowledge-map{display:grid;gap:16px;font-family:var(--font, Inter, "Segoe UI", sans-serif);color:var(--on-surface-variant, #414753)}.knowledge-map-heading{padding:4px 2px}.knowledge-map-heading .eyebrow{display:inline-block;margin:0 0 8px;color:var(--primary, #005ab4);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.knowledge-map-heading h2{margin:0 0 6px;color:var(--on-surface, #181c22);font-size:22px;font-weight:700;letter-spacing:-.02em}.knowledge-map-heading p{margin:0;max-width:40rem;color:var(--on-surface-variant, #414753);font-size:14px;line-height:1.5}.knowledge-map-alert,.knowledge-map-notice{margin:0;padding:10px 14px;font-size:13px;border-radius:var(--radius, .5rem)}.knowledge-map-alert{color:var(--on-error-container, #93000a);background:var(--error-container, #ffdad6)}.knowledge-map-notice{color:var(--on-secondary-container, #3f5881);background:var(--secondary-container, #b6d0ff)}.knowledge-map-add{padding:16px;border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius-lg, .75rem);background:var(--surface-lowest, #ffffff);box-shadow:0 1px 8px #0000000a}.knowledge-map-add label{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant, #414753);margin-bottom:8px}.knowledge-map-add div{display:flex;gap:8px}.knowledge-map-add input{flex:1;min-height:40px;padding:0 12px;border:1px solid transparent;border-radius:var(--radius, .5rem);background:var(--surface-low, #f1f3fc);color:var(--on-surface, #181c22);font:inherit;font-size:14px}.knowledge-map-add input:focus{outline:2px solid var(--primary, #005ab4);background:var(--surface-lowest, #ffffff)}.knowledge-map-add button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:0;border-radius:var(--radius, .5rem);background:var(--primary, #005ab4);color:var(--on-primary, #ffffff);font-weight:600;font-size:13px;cursor:pointer}.knowledge-map-add button:hover{background:var(--primary-container, #0a73e0)}.knowledge-map-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.knowledge-map-grid section{padding:16px;border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius-lg, .75rem);background:var(--surface-lowest, #ffffff);box-shadow:0 1px 8px #0000000a}.knowledge-map-grid h3{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--on-surface, #181c22);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.knowledge-map-empty{color:var(--on-surface-variant, #414753);font-size:14px}.knowledge-map-tree,.knowledge-map-conflicts{list-style:none;margin:0;padding:0;display:grid;gap:8px}.knowledge-map-tree li,.knowledge-map-conflicts li{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;min-height:48px;padding:10px 12px;border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius, .5rem);background:var(--surface-lowest, #ffffff)}.knowledge-map-tree .is-archived{opacity:.55}.knowledge-map-tree li span:first-child,.knowledge-map-conflicts li p{margin:0;color:var(--on-surface, #181c22);font-size:14px;font-weight:600}.knowledge-map-conflicts li small{color:var(--on-surface-variant, #414753);font-size:12px}.knowledge-badge{padding:3px 9px;border-radius:999px;color:var(--on-secondary-container, #3f5881);background:var(--secondary-container, #b6d0ff);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.knowledge-map-tree button,.knowledge-map-conflicts button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border:0;border-radius:var(--radius, .5rem);background:var(--surface-container, #ebedf7);color:var(--on-surface, #181c22);font-weight:600;font-size:12px;cursor:pointer}.knowledge-map-conflicts button{background:var(--primary, #005ab4);color:var(--on-primary, #ffffff)}.knowledge-map-conflicts li{background:var(--error-container, #ffdad6);border-color:transparent}.knowledge-map-conflicts li p,.knowledge-map-conflicts li small{color:var(--on-error-container, #93000a)}@media(max-width:720px){.knowledge-map-grid{grid-template-columns:1fr}.knowledge-map-add div{flex-direction:column}}.review-studio{display:grid;gap:16px;font-family:var(--font, Inter, "Segoe UI", sans-serif);color:var(--on-surface-variant, #414753)}.review-studio-heading{padding:4px 2px}.review-studio-heading .eyebrow{display:inline-block;margin:0 0 8px;color:var(--primary, #005ab4);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.review-studio-heading h2{margin:0 0 6px;color:var(--on-surface, #181c22);font-size:22px;font-weight:700;letter-spacing:-.02em}.review-studio-heading p{margin:0;max-width:44rem;color:var(--on-surface-variant, #414753);font-size:14px;line-height:1.5}.review-studio-alert,.review-studio-notice{margin:0;padding:10px 14px;font-size:13px;border-radius:var(--radius, .5rem)}.review-studio-alert{color:var(--on-error-container, #93000a);background:var(--error-container, #ffdad6)}.review-studio-notice{color:var(--on-secondary-container, #3f5881);background:var(--secondary-container, #b6d0ff)}.review-studio-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;align-items:start}.review-studio-grid section{padding:16px;background:var(--surface-lowest, #ffffff);border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius-lg, .75rem);box-shadow:0 1px 8px #0000000a}.review-studio-grid section:nth-child(3){grid-column:1 / -1}.review-studio-grid h3,.review-studio-toolbar h3{margin:0;color:var(--on-surface, #181c22);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.review-studio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.review-studio-empty{color:var(--on-surface-variant, #414753);font-size:14px}.review-studio-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.review-studio-grid li button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:10px 12px;border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius, .5rem);background:var(--surface-lowest, #ffffff);text-align:left;color:var(--on-surface, #181c22);font-size:14px;cursor:pointer}.review-studio-grid li button span{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:var(--error-container, #ffdad6);color:var(--on-error-container, #93000a);font-size:11px;font-weight:600;text-transform:capitalize}.review-studio-grid li button[aria-current=true]{border-color:var(--primary, #005ab4);background:color-mix(in srgb,var(--primary, #005ab4) 8%,var(--surface-lowest, #ffffff))}.review-stem{margin:8px 0 10px;color:var(--on-surface, #181c22);font-size:16px;font-weight:600;line-height:1.45}.review-studio section p{font-size:14px;line-height:1.5}.review-studio label{display:block;margin-top:12px;color:var(--on-surface-variant, #414753);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.review-studio textarea{width:100%;min-height:72px;margin:8px 0 12px;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius, .5rem);background:var(--surface-low, #f1f3fc);color:var(--on-surface, #181c22);font:inherit;font-size:14px}.review-studio textarea:focus{outline:2px solid var(--primary, #005ab4);background:var(--surface-lowest, #ffffff)}.review-actions{display:flex;flex-wrap:wrap;gap:8px}.review-actions button,.review-studio-toolbar button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:0;border-radius:var(--radius, .5rem);background:var(--primary, #005ab4);color:var(--on-primary, #ffffff);font-weight:600;font-size:13px;cursor:pointer}.review-actions button:hover,.review-studio-toolbar button:hover{background:var(--primary-container, #0a73e0)}.review-actions .reject{background:var(--error-container, #ffdad6);color:var(--on-error-container, #93000a)}.review-actions .reject:hover{background:var(--error, #ba1a1a);color:var(--on-primary, #ffffff)}.review-studio-grid section:nth-child(3) li{padding:12px;border:1px solid var(--outline-variant, #c1c6d5);border-radius:var(--radius, .5rem);background:var(--surface-low, #f1f3fc)}.review-studio-grid section:nth-child(3) li strong{display:block;margin-bottom:6px;color:var(--on-surface, #181c22);font-size:12px}.review-studio-grid section:nth-child(3) li p{margin:0;color:var(--on-surface-variant, #414753);font-size:14px}@media(max-width:900px){.review-studio-grid{grid-template-columns:1fr}.review-studio-grid section:nth-child(3){grid-column:auto}.review-studio-toolbar{flex-direction:column;align-items:stretch}}.assessment-builder{--if-primary: #005ab4;--if-surface: #f9f9ff;--if-card: #ffffff;--if-text: #181c22;--if-muted: #414753;--if-chip: #b6d0ff;--if-error-container: #ffdad6;--if-on-error: #93000a;--if-tertiary: #964400;--if-container: #ebedf7;--if-container-low: #f1f3fc;--if-outline: #c1c6d5;--if-radius: .75rem;display:grid;gap:20px;padding:24px;border-radius:var(--if-radius);background:var(--if-surface);color:var(--if-text);font-family:Inter,system-ui,sans-serif}.assessment-builder h2,.assessment-builder h3{font-family:Inter,system-ui,sans-serif;color:var(--if-text);letter-spacing:-.02em}.ab-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-start}.ab-kicker{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;margin-bottom:8px;border-radius:999px;background:var(--if-chip);color:#3f5881;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.assessment-builder h2{margin:0 0 6px;font-size:24px;font-weight:700}.assessment-builder header p{margin:0;max-width:40rem;color:var(--if-muted);font-size:14px}.ab-workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:16px;align-items:start}.assessment-builder-form,.assessment-list{display:grid;gap:12px;padding:20px;border-radius:var(--if-radius);background:var(--if-card);box-shadow:0 1px 8px #181c220a}.assessment-builder-form label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--if-text)}.assessment-builder-form input,.assessment-builder-form select,.assessment-builder-form textarea{min-height:44px;padding:10px 12px;border:1px solid var(--if-outline);border-radius:.5rem;background:var(--if-container-low);color:var(--if-text);font:inherit}.assessment-builder-form textarea{min-height:88px;resize:vertical}.assessment-builder .primary-button,.assessment-list button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:.5rem;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.assessment-builder .primary-button{border:0;background:var(--if-primary);color:#fff}.assessment-builder .form-error{margin:0;padding:10px 12px;border-radius:.5rem;background:var(--if-error-container);color:var(--if-on-error);font-size:13px}.assessment-builder .form-status{margin:0;color:var(--if-primary);font-size:13px;font-weight:600}.assessment-list{list-style:none;margin:0}.assessment-list li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-height:56px;padding:12px;border-radius:.5rem;background:var(--if-container-low)}.assessment-list .empty-row{color:var(--if-muted);background:transparent}.ab-item-main{display:flex;flex:1 1 180px;flex-wrap:wrap;align-items:center;gap:8px}.ab-item-main strong{color:var(--if-text)}.ab-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:var(--if-chip);color:#3f5881;font-size:11px;font-weight:700;text-transform:capitalize}.ab-chip-status{background:#d6e3ff;color:#001b3e}.ab-item-actions{display:flex;flex-wrap:wrap;gap:8px}.assessment-list button{border:0;background:var(--if-container);color:var(--if-primary)}@media(max-width:900px){.ab-workspace{grid-template-columns:1fr}}.learner-runner{--if-primary: #005ab4;--if-surface: #f9f9ff;--if-card: #ffffff;--if-text: #181c22;--if-muted: #414753;--if-chip: #b6d0ff;--if-error-container: #ffdad6;--if-on-error: #93000a;--if-tertiary: #964400;--if-container: #ebedf7;--if-container-low: #f1f3fc;--if-outline: #c1c6d5;--if-radius: .75rem;display:grid;gap:16px;padding:24px;border-radius:var(--if-radius);background:var(--if-surface);color:var(--if-text);font-family:Inter,system-ui,sans-serif}.learner-runner h2{margin:0 0 6px;font-family:Inter,system-ui,sans-serif;font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--if-text)}.lr-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px 18px;border-radius:var(--if-radius);background:var(--if-card);box-shadow:0 1px 8px #181c220a}.learner-runner header p{margin:0;max-width:36rem;color:var(--if-muted);font-size:14px}.lr-status{display:flex;flex-wrap:wrap;gap:8px}.lr-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:var(--if-chip);color:#3f5881;font-size:12px;font-weight:700}.lr-chip-timer{background:var(--if-container);color:var(--if-primary)}.lr-chip-warn{background:#ffdbc9;color:var(--if-tertiary)}.learner-runner .secondary-button,.learner-runner .primary-button,.learner-runner button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:0;border-radius:.5rem;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.learner-runner .secondary-button,.learner-runner button{background:var(--if-container);color:var(--if-primary)}.learner-runner .primary-button{background:var(--if-primary);color:#fff}.learner-runner button:disabled{opacity:.45;cursor:not-allowed}.lr-catalog{list-style:none;margin:0;padding:0;display:grid;gap:8px}.lr-catalog li{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:10px 14px;border-radius:var(--if-radius);background:var(--if-card);box-shadow:0 1px 8px #181c220a}.runner-panel,.results-panel{display:grid;gap:14px;padding:20px;border-radius:var(--if-radius);background:var(--if-card);box-shadow:0 1px 8px #181c220a}.runner-panel label{display:grid;gap:6px;font-size:13px;font-weight:600}.runner-panel input{min-height:44px;padding:10px 12px;border:1px solid var(--if-outline);border-radius:.5rem;background:var(--if-container-low);color:var(--if-text);font:inherit}.runner-actions{display:flex;flex-wrap:wrap;gap:8px}.learner-runner .form-warning{margin:0;padding:10px 12px;border-radius:.5rem;background:#ffdbc9;color:var(--if-tertiary);font-size:13px}.learner-runner .form-error{margin:0;padding:10px 12px;border-radius:.5rem;background:var(--if-error-container);color:var(--if-on-error);font-size:13px}.lr-score{display:grid;gap:8px}.lr-score p{margin:0;font-size:16px;font-weight:700}.lr-progress{height:10px;overflow:hidden;border-radius:999px;background:var(--if-container)}.lr-progress i{display:block;height:100%;border-radius:inherit;background:var(--if-primary)}.results-panel article{display:grid;gap:6px;padding:14px;border-radius:.5rem;background:var(--if-container-low)}.results-panel article p{margin:0}.why{color:var(--if-muted);font-size:13px}.visual-why{color:var(--if-tertiary);font-size:13px}.mistake-book{--if-primary: #005ab4;--if-surface: #f9f9ff;--if-card: #ffffff;--if-text: #181c22;--if-muted: #414753;--if-chip: #b6d0ff;--if-error-container: #ffdad6;--if-on-error: #93000a;--if-tertiary: #964400;--if-container: #ebedf7;--if-container-low: #f1f3fc;--if-radius: .75rem;display:grid;gap:16px;padding:24px;border-radius:var(--if-radius);background:var(--if-surface);color:var(--if-text);font-family:Inter,system-ui,sans-serif}.mb-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-start}.mb-kicker{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;margin-bottom:8px;border-radius:999px;background:var(--if-error-container);color:var(--if-on-error);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.mistake-book h2,.mistake-book h3{font-family:Inter,system-ui,sans-serif;color:var(--if-text);letter-spacing:-.02em}.mistake-book h2{margin:0 0 6px;font-size:24px;font-weight:700}.mistake-book h3{margin:0 0 12px;font-size:14px;font-weight:700}.mistake-book header p{margin:0;max-width:36rem;color:var(--if-muted);font-size:14px}.mistake-book .primary-button,.mistake-book button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:0;border-radius:.5rem;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.mistake-book .primary-button{width:fit-content;background:var(--if-primary);color:#fff}.mistake-book button{margin-left:8px;background:var(--if-chip);color:#3f5881}.mistake-book .form-error{margin:0;padding:10px 12px;border-radius:.5rem;background:var(--if-error-container);color:var(--if-on-error)}.mistake-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.mistake-grid article,.mb-revision{padding:18px;border-radius:var(--if-radius);background:var(--if-card);box-shadow:0 1px 8px #181c220a}.mistake-book ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:13px;color:var(--if-muted)}.mistake-book li{display:grid;gap:6px;padding:10px 12px;border-radius:.5rem;background:var(--if-container-low);color:var(--if-text)}.mb-mastery-row{display:grid;gap:6px}.mb-progress{height:8px;overflow:hidden;border-radius:999px;background:var(--if-container)}.mb-progress i{display:block;height:100%;border-radius:inherit;background:var(--if-primary)}.role-dashboard{--if-primary: #005ab4;--if-surface: #f9f9ff;--if-card: #ffffff;--if-text: #181c22;--if-muted: #414753;--if-chip: #b6d0ff;--if-error-container: #ffdad6;--if-on-error: #93000a;--if-container: #ebedf7;--if-container-low: #f1f3fc;--if-radius: .75rem;display:grid;gap:16px;padding:24px;border-radius:var(--if-radius);background:var(--if-surface);color:var(--if-text);font-family:Inter,system-ui,sans-serif}.role-dashboard h2{margin:0 0 6px;font-family:Inter,system-ui,sans-serif;font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--if-text)}.role-dashboard header p{margin:0;max-width:40rem;color:var(--if-muted);font-size:14px}.rd-heading{padding:4px 0 8px}.role-scope{display:grid;gap:8px}.role-scope-label{font-size:13px;font-weight:700;color:var(--if-text)}.role-segment{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:var(--if-radius);background:var(--if-card);box-shadow:0 1px 8px #181c220a}.role-segment button{min-height:44px;padding:0 14px;border:0;border-radius:.5rem;background:transparent;color:var(--if-muted);font:inherit;font-size:13px;font-weight:600;text-transform:capitalize;cursor:pointer}.role-segment button.is-active{background:var(--if-primary);color:#fff}.role-actions{display:flex;flex-wrap:wrap;gap:8px}.role-dashboard .primary-button,.role-dashboard button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:0;border-radius:.5rem;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.role-dashboard .primary-button{background:var(--if-primary);color:#fff}.role-actions button:not(.primary-button){background:var(--if-chip);color:#3f5881}.role-dashboard .form-error{margin:0;padding:10px 12px;border-radius:.5rem;background:var(--if-error-container);color:var(--if-on-error)}.rd-status{margin:0;color:var(--if-primary);font-size:13px;font-weight:600}.role-metrics{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.role-metrics article{display:grid;gap:6px;padding:16px;border-radius:var(--if-radius);background:var(--if-card);box-shadow:0 1px 8px #181c220a}.role-metrics span{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--if-muted)}.role-metrics strong{font-size:20px;color:var(--if-text)}.role-dashboard pre{margin:0;padding:16px;overflow:auto;border-radius:var(--if-radius);background:var(--if-container-low);color:var(--if-muted);font-size:12px}.notification-center{--if-primary: #005ab4;--if-surface: #f9f9ff;--if-card: #ffffff;--if-text: #181c22;--if-muted: #414753;--if-chip: #b6d0ff;--if-error-container: #ffdad6;--if-on-error: #93000a;--if-container: #ebedf7;--if-container-low: #f1f3fc;--if-outline: #c1c6d5;--if-radius: .75rem;display:grid;gap:16px;padding:24px;border-radius:var(--if-radius);background:var(--if-surface);color:var(--if-text);font-family:Inter,system-ui,sans-serif}.notification-center h2{margin:0 0 6px;font-family:Inter,system-ui,sans-serif;font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--if-text)}.notification-center header p{margin:0;color:var(--if-muted);font-size:14px}.nc-prefs{display:grid;gap:14px;padding:20px;border-radius:var(--if-radius);background:var(--if-card);box-shadow:0 1px 8px #181c220a}.quiet-hours{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.quiet-hours label{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--if-text)}.quiet-hours input{min-height:44px;min-width:140px;padding:0 12px;border:1px solid var(--if-outline);border-radius:.5rem;background:var(--if-container-low);color:var(--if-text);font:inherit}.notification-center .primary-button,.notification-center button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:0;border-radius:.5rem;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.notification-center .primary-button{background:var(--if-primary);color:#fff}.nc-prefs>button{width:fit-content;background:var(--if-chip);color:#3f5881}.nc-status{margin:0;color:var(--if-primary);font-size:13px;font-weight:600}.notification-center .form-error{margin:0;padding:10px 12px;border-radius:.5rem;background:var(--if-error-container);color:var(--if-on-error)}.nc-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.nc-list li{padding:16px 18px;border-radius:var(--if-radius);background:var(--if-card);box-shadow:0 1px 8px #181c220a}.nc-list strong{color:var(--if-text);font-size:14px}.nc-list li p{margin:4px 0 0;color:var(--if-muted);font-size:13px}.landing-wrapper{width:100%;min-height:100vh;display:flex;flex-direction:column;background-color:var(--surface);color:var(--on-surface);font-family:Inter,sans-serif;position:relative;overflow-x:hidden}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;max-width:80rem;width:100%;margin:0 auto;box-sizing:border-box}.landing-nav-brand{display:flex;align-items:center;gap:.75rem}.landing-nav-icon{width:2.5rem;height:2.5rem;border-radius:.5rem;background-color:var(--primary);display:flex;align-items:center;justify-content:center;color:#fff}.landing-nav-title{font-weight:700;font-size:1.125rem;letter-spacing:-.025em}.landing-nav-actions{display:flex;gap:1rem;align-items:center}.landing-btn-secondary{padding:.625rem 1.25rem;border-radius:.5rem;background-color:transparent;color:var(--on-surface);font-weight:600;font-size:.875rem;border:1px solid color-mix(in srgb,var(--on-surface) 20%,transparent);cursor:pointer;transition:all .2s}.landing-btn-secondary:hover{background-color:color-mix(in srgb,var(--on-surface) 5%,transparent)}.landing-btn-primary{padding:.625rem 1.25rem;border-radius:.5rem;background-color:var(--primary);color:#fff;font-weight:600;font-size:.875rem;border:none;cursor:pointer;transition:all .2s}.landing-btn-primary:hover{background-color:color-mix(in srgb,var(--primary) 85%,black)}.landing-main{flex:1;display:flex;flex-direction:column;align-items:center;padding:4rem 2rem;max-width:80rem;margin:0 auto;width:100%;box-sizing:border-box}.landing-hero{text-align:center;max-width:48rem;margin-bottom:4rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.landing-hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem 1rem;border-radius:9999px;background-color:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-size:.875rem;font-weight:600}.landing-hero-heading{font-size:2.5rem;font-weight:800;letter-spacing:-.025em;line-height:1.15;margin:0}@media(min-width:768px){.landing-hero-heading{font-size:3.5rem}}.landing-hero-heading span{color:var(--primary)}.landing-hero-subtitle{font-size:1.125rem;color:var(--on-surface);opacity:.8;line-height:1.625;margin:0}.landing-hero-actions{display:flex;gap:1rem;margin-top:1rem}.landing-features{display:grid;grid-template-columns:1fr;gap:2rem;width:100%}@media(min-width:768px){.landing-features{grid-template-columns:repeat(3,minmax(0,1fr))}}.landing-feature-card{padding:2rem;border-radius:1rem;background-color:color-mix(in srgb,var(--surface) 95%,black);box-shadow:0 4px 6px -1px #0000000d;display:flex;flex-direction:column;gap:1rem;transition:transform .2s}.landing-feature-card:hover{transform:translateY(-4px)}.landing-feature-icon{width:3rem;height:3rem;border-radius:.75rem;background-color:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary);display:flex;align-items:center;justify-content:center}.landing-feature-title{font-size:1.125rem;font-weight:700;margin:0}.landing-feature-desc{font-size:.875rem;opacity:.8;line-height:1.6;margin:0}.landing-decorator-1{position:absolute;top:-10rem;left:-10rem;width:40rem;height:40rem;border-radius:9999px;background-color:color-mix(in srgb,var(--primary) 5%,transparent);filter:blur(100px);z-index:-1;pointer-events:none}.landing-decorator-2{position:absolute;bottom:-10rem;right:-10rem;width:40rem;height:40rem;border-radius:9999px;background-color:color-mix(in srgb,var(--secondary) 10%,transparent);filter:blur(100px);z-index:-1;pointer-events:none}.auth-wrapper{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background-color:var(--surface);color:var(--on-surface);font-family:Inter,sans-serif;box-sizing:border-box;position:relative;overflow:hidden}.auth-decorator-top{position:absolute;top:-6rem;left:-6rem;width:24rem;height:24rem;border-radius:9999px;background-color:color-mix(in srgb,var(--primary) 5%,transparent);filter:blur(64px);pointer-events:none}.auth-decorator-bottom{position:absolute;bottom:-6rem;right:-6rem;width:24rem;height:24rem;border-radius:9999px;background-color:color-mix(in srgb,var(--secondary) 15%,transparent);filter:blur(64px);pointer-events:none}.auth-container{width:100%;max-width:32rem;z-index:10;display:flex;flex-direction:column;gap:1.5rem}.auth-back-link{display:flex;align-items:center;gap:.5rem;color:var(--on-surface);opacity:.7;font-size:.875rem;font-weight:500;background:transparent;border:none;cursor:pointer;padding:0;width:fit-content;transition:opacity .2s}.auth-back-link:hover{opacity:1}.auth-form-box{background-color:color-mix(in srgb,var(--surface) 98%,black);padding:2rem;border-radius:1rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;display:flex;flex-direction:column;gap:1.75rem;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--surface) 90%,black)}@media(min-width:640px){.auth-form-box{padding:2.5rem}}.auth-form-header{display:flex;flex-direction:column;gap:.375rem}.auth-form-header-top{display:flex;align-items:center;justify-content:space-between}.auth-form-header h2{font-size:1.5rem;font-weight:700;color:var(--on-surface);letter-spacing:-.025em;margin:0}.auth-form-header p{font-size:.875rem;color:var(--on-surface);opacity:.7;margin:0}.auth-form-icon{color:var(--primary)}.auth-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;padding:.25rem;background-color:color-mix(in srgb,var(--surface) 92%,black);border-radius:.5rem;font-size:.75rem;font-weight:500}.auth-tab{padding:.625rem;border-radius:.375rem;text-align:center;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.375rem;background:transparent;border:none;cursor:pointer;color:var(--on-surface);opacity:.7}.auth-tab:hover{opacity:1}.auth-tab.active{background-color:var(--surface);color:var(--on-surface);font-weight:600;box-shadow:0 1px 2px #0000000d;opacity:1}.auth-tab.active svg{color:var(--primary)}.auth-sso-panel{display:flex;flex-direction:column;gap:1rem}.auth-sso-buttons{display:flex;flex-direction:column;gap:.75rem}.auth-sso-btn{width:100%;padding:.875rem 1rem;border-radius:.5rem;background-color:color-mix(in srgb,var(--surface) 95%,black);color:var(--on-surface);font-size:.875rem;font-weight:600;display:flex;align-items:center;justify-content:space-between;transition:all .2s;border:1px solid color-mix(in srgb,var(--surface) 90%,black);cursor:pointer}.auth-sso-btn:hover{background-color:color-mix(in srgb,var(--surface) 92%,black)}.auth-sso-btn-left{display:flex;align-items:center;gap:.75rem}.auth-sso-btn-icon{width:1.25rem;height:1.25rem}.auth-sso-btn svg.arrow{color:var(--on-surface);opacity:.5;transition:color .2s}.auth-sso-btn:hover svg.arrow{color:var(--primary);opacity:1}.auth-divider{position:relative;display:flex;align-items:center;justify-content:center;padding:.5rem 0}.auth-divider-line{width:100%;border-top:1px solid color-mix(in srgb,var(--surface) 85%,black)}.auth-divider-text{position:absolute;padding:0 .75rem;background-color:color-mix(in srgb,var(--surface) 98%,black);font-size:.6875rem;font-weight:500;color:var(--on-surface);opacity:.6;text-transform:uppercase;letter-spacing:.05em}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-form-group{display:flex;flex-direction:column;gap:.375rem}.auth-form-group-header{display:flex;align-items:center;justify-content:space-between}.auth-form-group-header label{font-size:.875rem;font-weight:600;color:var(--on-surface)}.auth-domain-badge{font-size:.6875rem;padding:.125rem .5rem;border-radius:.25rem;background-color:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary);font-weight:600}.auth-input-wrapper{position:relative}.auth-input-icon{position:absolute;left:.875rem;top:.7rem;color:var(--on-surface);opacity:.5}.auth-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border-radius:.5rem;background-color:color-mix(in srgb,var(--surface) 95%,black);color:var(--on-surface);font-size:.875rem;border:1px solid color-mix(in srgb,var(--surface) 85%,black);transition:all .2s;box-sizing:border-box}.auth-input:focus{background-color:var(--surface);outline:none;border-color:var(--primary)}.auth-input::placeholder{color:color-mix(in srgb,var(--on-surface) 50%,transparent)}.auth-forgot-link{font-size:.75rem;color:var(--primary);font-weight:500;text-decoration:none}.auth-forgot-link:hover{text-decoration:underline}.auth-password-toggle{position:absolute;right:.875rem;top:.7rem;color:var(--on-surface);opacity:.5;background:transparent;border:none;cursor:pointer;padding:0}.auth-password-toggle:hover{opacity:1}.auth-submit-btn{width:100%;padding:.875rem 1.5rem;border-radius:.5rem;background-color:var(--primary);color:#fff;font-weight:600;font-size:.875rem;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s;border:none;cursor:pointer}.auth-submit-btn:hover:not(:disabled){background-color:color-mix(in srgb,var(--primary) 85%,black)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-submit-btn svg.arrow{transition:transform .2s}.auth-submit-btn:hover:not(:disabled) .arrow{transform:translate(.125rem)}.auth-switch-prompt{text-align:center;font-size:.875rem;color:var(--on-surface);opacity:.8;margin-top:.5rem}.auth-switch-prompt button{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;padding:0 .25rem}.auth-switch-prompt button:hover{text-decoration:underline}.auth-persona-list{display:flex;flex-direction:column;gap:.75rem}.auth-persona-heading{margin:0;font-size:.875rem;font-weight:700}.auth-persona-hint{margin:0;font-size:.75rem;opacity:.75}.auth-persona-hint code{font-size:.75rem}.auth-persona-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.auth-persona-card{text-align:left;border:1px solid color-mix(in srgb,var(--surface) 85%,black);background:color-mix(in srgb,var(--surface) 96%,black);border-radius:.5rem;padding:.65rem .75rem;cursor:pointer;font-size:.8rem;font-weight:600;color:var(--on-surface)}.auth-persona-card small{display:block;font-weight:500;opacity:.7;margin-top:.15rem}.auth-persona-card:hover{border-color:var(--primary)}.app-shell{min-height:100vh;display:grid;grid-template-columns:18rem minmax(0,1fr);background:var(--background)}.sidebar{position:sticky;top:0;height:100vh;box-sizing:border-box;padding:0 0 16px;border-right:1px solid var(--outline-variant);background:var(--surface-low);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;height:64px;padding:0 24px;color:var(--on-surface);font-family:var(--heading)}.brand-mark{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;border-radius:var(--radius);color:var(--on-primary);background:var(--primary)}.brand-copy{display:grid;gap:2px;min-width:0}.brand-copy strong{font-size:14px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.brand-copy small{font-size:11px;font-weight:500;color:var(--on-surface-variant);line-height:1}.sidebar nav{display:flex;flex-direction:column;gap:4px;overflow-y:auto;padding:8px 16px 12px}.nav-group-label{margin:10px 12px 6px;color:var(--outline);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.nav-group-label:first-child{margin-top:0}.nav-item{display:flex;align-items:center;gap:11px;min-height:40px;padding:8px 14px;border:0;border-radius:var(--radius-lg);color:var(--on-surface-variant);background:transparent;text-decoration:none;text-align:left;font-size:14px;font-weight:500;white-space:nowrap}.nav-item svg{width:18px;flex:0 0 auto}.nav-item:hover{color:var(--on-surface);background:var(--surface-high)}.nav-item.active{color:var(--on-primary-container);background:var(--primary-container);font-weight:600;box-shadow:0 1px 2px #005ab42e}.sidebar-bottom{margin-top:auto;display:grid;gap:8px;padding:0 12px}.quota-card{margin:4px 4px 0;padding:12px;border-radius:var(--radius-lg);background:var(--surface-container);display:grid;gap:8px}.quota-head{display:flex;align-items:center;justify-content:space-between;color:var(--on-surface);font-size:12px;font-weight:600}.quota-badge{padding:2px 6px;border-radius:4px;background:var(--secondary-container);color:var(--on-secondary-container);font-size:10px;font-weight:700}.quota-meta{display:flex;justify-content:space-between;color:var(--on-surface-variant);font-size:12px}.quota-meta strong{color:var(--on-surface);font-weight:500}.quota-status{display:flex;align-items:center;gap:8px;color:var(--on-surface-variant);font-size:11px}.quota-dot{width:8px;height:8px;border-radius:50%;background:var(--primary)}.profile{display:flex;gap:10px;align-items:center;padding:10px 8px 4px}.profile>span:last-child{display:grid;min-width:0}.profile strong{color:var(--on-surface);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile small{font-size:11px;color:var(--on-surface-variant)}.avatar{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:var(--on-primary);background:var(--secondary);font-size:12px;font-weight:700}main{min-width:0;background:var(--surface)}.topbar{height:64px;box-sizing:border-box;padding:0 32px;display:flex;align-items:center;gap:12px;background:color-mix(in srgb,var(--surface) 80%,transparent);position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 1px 8px #0000000a}.search{flex:1;max-width:28rem;display:flex;align-items:center;gap:9px;margin-right:auto;padding:0 12px;height:36px;border:0;border-radius:var(--radius-lg);color:var(--on-surface-variant);background:var(--surface-low)}.search:focus-within{background:var(--surface-lowest)}.search input{width:100%;border:0;outline:0;background:transparent;color:var(--on-surface);font:inherit;font-size:12px}.appearance-control{position:relative}.appearance-button{height:36px;display:inline-flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--outline-variant);border-radius:var(--radius-lg);color:var(--on-surface-variant);background:var(--surface-lowest);font-size:12px;font-weight:600}.appearance-button:hover{color:var(--on-surface);background:var(--surface-high)}.theme-dot{width:10px;height:10px;border-radius:50%;background:var(--primary)}.appearance-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:10;width:250px;padding:14px;border:1px solid var(--outline-variant);border-radius:var(--radius-lg);background:var(--surface-lowest);box-shadow:0 12px 28px #181c221f;font-family:var(--font)}.appearance-panel>div:first-child{display:grid;gap:3px}.appearance-panel strong{color:var(--on-surface);font-size:13px}.appearance-panel small{color:var(--on-surface-variant);font-size:11px}.theme-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:14px}.theme-swatch{width:28px;height:28px;border:2px solid transparent;border-radius:5px}.theme-swatch:hover{transform:translateY(-1px)}.theme-swatch[aria-pressed=true]{border-color:#fff;box-shadow:0 0 0 2px var(--on-surface)}.workspace-switcher,.profile-menu{position:relative}.workspace-button{height:36px;max-width:210px;padding:0 10px 0 12px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--outline-variant);border-radius:var(--radius-lg);color:var(--on-surface);background:var(--surface-lowest);font-size:13px;font-weight:600}.workspace-button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-button:hover{background:var(--surface-high)}.workspace-menu,.profile-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:10;min-width:230px;padding:6px;border:1px solid var(--outline-variant);border-radius:var(--radius-lg);background:var(--surface-lowest);box-shadow:0 12px 28px #181c221f;font-family:var(--font)}.workspace-option{width:100%;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:var(--radius);color:var(--on-surface);background:transparent;text-align:left}.workspace-option:hover,.workspace-option[aria-selected=true]{background:var(--surface-low)}.workspace-option span,.profile-popover>span{display:grid;gap:3px}.workspace-option strong,.profile-popover strong{font-size:13px}.workspace-option small,.profile-popover small{color:var(--on-surface-variant);font-size:11px}.avatar-mini{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:var(--on-primary);background:var(--secondary);font-size:10px;font-weight:800}.profile-popover{min-width:250px;padding:14px}.profile-popover button{width:100%;margin-top:12px;padding:9px 0 0;display:flex;gap:8px;align-items:center;border:0;border-top:1px solid var(--surface-high);color:var(--on-surface-variant);background:transparent;font-size:13px;font-weight:600}.profile-popover button:hover{color:var(--primary)}button{font:inherit;cursor:pointer}.icon-button{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:var(--radius-lg);color:var(--on-surface-variant);background:transparent}.icon-button:hover{color:var(--on-surface);background:var(--surface-high)}.primary-button,.secondary-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:var(--radius-lg);font-weight:600;font-family:var(--font)}.primary-button{height:36px;padding:0 16px;border:0;color:var(--on-primary);background:var(--primary);box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 20%,transparent)}.primary-button:hover{background:var(--primary-hover)}.workspace{max-width:1240px;margin:0 auto;padding:32px 32px 60px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px}.heading-actions{display:flex;flex-wrap:wrap;gap:10px}.eyebrow{color:var(--primary);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.page-heading h1{margin:6px 0;font-weight:700;letter-spacing:-.02em}.page-heading p,.section-heading p{color:var(--on-surface-variant)}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.metrics article{min-width:0;padding:16px;display:grid;gap:8px;border-radius:var(--radius-lg);background:var(--surface-lowest);box-shadow:0 1px 2px #181c220f}.metrics span,.metrics small{font-size:12px;color:var(--on-surface-variant)}.metrics span{font-weight:600;letter-spacing:.04em;text-transform:uppercase}.metrics strong{font-family:var(--heading);color:var(--on-surface);font-size:24px;line-height:1.1;font-weight:700}.metrics .positive{color:var(--success)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;margin-top:28px}.course-section,.review-panel,.source-queue{border-radius:var(--radius-lg);background:var(--surface-lowest);box-shadow:0 1px 2px #181c220f}.section-heading{min-height:70px;box-sizing:border-box;padding:16px 20px;display:flex;align-items:center;justify-content:space-between}.section-heading h2{margin:0 0 3px}.section-heading p{font-size:12px}.text-button{padding:6px;border:0;color:var(--primary);background:transparent;font-size:12px}.course-list{display:grid;gap:12px;padding:0 16px 16px}.course-row{min-height:72px;padding:12px 14px;display:grid;grid-template-columns:42px minmax(150px,1fr) 72px minmax(130px,.65fr) 38px;gap:12px;align-items:center;border-radius:var(--radius-lg);background:var(--surface-lowest)}.course-row:hover{background:var(--surface-low)}.course-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-lg);color:var(--primary);background:var(--surface-low)}.course-icon.teal{color:var(--secondary)}.course-icon.blue{color:var(--primary)}.course-icon.gold{color:var(--tertiary)}.course-copy{display:grid;gap:4px;min-width:0}.course-copy strong{color:var(--on-surface);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-copy small,.progress-cell small{color:var(--on-surface-variant);font-size:11px}.course-copy em{font-style:normal;text-transform:capitalize}.empty-courses{min-height:160px;display:grid;place-content:center;gap:7px;padding:24px;color:var(--on-surface-variant);text-align:center}.empty-courses strong{color:var(--on-surface)}.empty-courses svg{justify-self:center;color:var(--primary)}.learner-count{display:flex;align-items:center;gap:5px;color:var(--on-surface-variant);font-size:12px}.progress-cell{display:grid;gap:7px}.progress-cell>span{display:flex;justify-content:space-between;align-items:center}.progress-cell strong{color:var(--on-surface);font-size:11px}.progress-track{height:6px;overflow:hidden;border-radius:999px;background:var(--surface-high)}.progress-track i{display:block;height:100%;border-radius:inherit;background:var(--primary)}.review-count{margin:0 20px 8px;padding:16px;display:flex;align-items:center;gap:12px;color:var(--primary);background:var(--surface-low);border-radius:var(--radius-lg)}.review-count span{display:grid}.review-count strong{color:var(--on-surface);font-size:24px;line-height:1}.review-count small{margin-top:4px;color:var(--on-surface-variant);font-size:11px}.review-panel ul{list-style:none;padding:0 20px;margin:0}.review-panel li{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--surface-high);color:var(--on-surface-variant)}.review-panel li span{display:grid;gap:3px}.review-panel li strong{color:var(--on-surface);font-size:13px}.review-panel li small{font-size:11px}.secondary-button{width:calc(100% - 40px);height:38px;margin:20px;border:1px solid var(--outline-variant);color:var(--primary);background:var(--surface-lowest)}.secondary-button:hover{background:var(--surface-low)}.dialog-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#181c2270}.course-dialog{width:min(480px,100%);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);background:var(--surface-lowest);box-shadow:0 24px 55px #181c222e;font-family:var(--font)}.dialog-heading{display:flex;justify-content:space-between;gap:16px;align-items:start;padding:20px}.dialog-heading h2{margin:4px 0 0}.course-dialog form{display:grid;gap:16px;padding:20px}.course-dialog label{display:grid;gap:6px;color:var(--on-surface);font-size:13px;font-weight:600}.course-dialog fieldset{display:flex;gap:16px;border:0;padding:0;margin:0;color:var(--on-surface);font-size:13px;font-weight:600}.course-dialog fieldset label{display:flex;align-items:center;gap:5px;font-weight:500}.source-queue{margin-top:20px}.source-row{display:grid;grid-template-columns:24px minmax(0,1fr) 160px;gap:10px;align-items:center;padding:14px 20px;color:var(--primary)}.source-row span{display:grid;gap:3px;min-width:0}.source-row strong{color:var(--on-surface);font-size:13px}.source-row small{color:var(--on-surface-variant);font-size:11px}.course-dialog label span{color:var(--on-surface-variant);font-size:11px;font-weight:500}.course-dialog input,.course-dialog textarea{width:100%;padding:9px 10px;border:1px solid var(--outline-variant);border-radius:var(--radius);color:var(--on-surface);background:var(--surface-low);font:inherit;font-size:14px;resize:vertical}.form-error{color:var(--error);font-size:13px}.dialog-actions{display:flex;justify-content:end;gap:12px;padding-top:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media(max-width:1100px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.app-shell{grid-template-columns:74px minmax(0,1fr)}.brand{padding-inline:12px;justify-content:center}.brand-copy,.nav-group-label,.quota-card,.profile-copy,.sidebar-utility .nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sidebar nav{padding-inline:8px}.nav-item{justify-content:center;padding:8px 0}.profile{justify-content:center;padding-inline:0}.metrics{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.topbar{padding-inline:16px}}@media(max-width:680px){.app-shell{display:block}.sidebar{position:fixed;z-index:10;top:auto;bottom:0;left:0;width:100%;height:auto;min-height:64px;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));border:0;border-top:1px solid var(--outline-variant);flex-direction:column;background:var(--surface-lowest)}.brand,.sidebar-bottom,.nav-group-label{display:none}.sidebar nav{width:100%;display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:4px;padding:0;-webkit-overflow-scrolling:touch}.nav-item{display:flex;flex:0 0 auto;min-height:48px;padding:0 12px;font-size:12px;justify-content:center}.nav-label{position:static;width:auto;height:auto;overflow:visible;clip:auto;font-size:12px;white-space:nowrap}.nav-item svg{width:18px}main{padding-bottom:80px}.topbar{height:60px;padding:0 16px}.search{width:auto;flex:1;max-width:none}.appearance-button{width:38px;padding:0;justify-content:center}.appearance-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.workspace{padding:26px 16px 24px}.page-heading{align-items:start;flex-direction:column}.page-heading h1{font-size:27px}.metrics{grid-template-columns:1fr 1fr}.metrics article{padding:16px}.metrics strong{font-size:24px}.course-row{grid-template-columns:40px minmax(0,1fr) 34px}.learner-count,.progress-cell{display:none}}
