.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}.material-symbols-outlined.icon-xs{font-size:14px}.material-symbols-outlined.icon-sm{font-size:16px}.material-symbols-outlined.icon-18{font-size:18px}.material-symbols-outlined.icon-md{font-size:20px}.material-symbols-outlined.icon-24{font-size:24px}.material-symbols-outlined.icon-28{font-size:28px}.material-symbols-outlined.icon-lg{font-size:32px}.material-symbols-outlined.icon-48{font-size:48px}.material-symbols-outlined.icon-64{font-size:64px}.material-symbols-outlined.icon-80{font-size:80px}.material-symbols-outlined.icon-120{font-size:120px}.material-symbols-outlined.icon-tone-primary{color:var(--color-primary)}.material-symbols-outlined.icon-tone-secondary{color:var(--color-text-secondary)}.material-symbols-outlined.icon-tone-hint{color:var(--color-text-hint)}.material-symbols-outlined.icon-tone-success{color:var(--palette-success-500)}.material-symbols-outlined.icon-tone-warning{color:var(--palette-warning-500)}.material-symbols-outlined.icon-tone-error{color:var(--palette-error-500)}.material-symbols-outlined.icon-tone-error-alt{color:var(--color-error)}:root{--color-primary: #1976D2;--color-primary-dark: #1565C0;--color-primary-light: #42A5F5;--color-on-primary: #FFFFFF;--color-surface: #FFFFFF;--color-background: #F4F6F8;--color-on-surface: #212121;--color-text-primary: #212121;--color-text-secondary: #616161;--color-text-hint: #9E9E9E;--color-text-disabled: #BDBDBD;--color-success: #4CAF50;--color-success-light: #81C784;--color-success-dark: #388E3C;--color-on-success: #FFFFFF;--color-warning: #FFA726;--color-warning-light: #FFB74D;--color-warning-dark: #F57C00;--color-on-warning: #FFFFFF;--color-error: #EF5350;--color-error-light: #E57373;--color-error-dark: #D32F2F;--color-on-error: #FFFFFF;--color-info: #29B6F6;--color-info-light: #4FC3F7;--color-info-dark: #0288D1;--color-on-info: #FFFFFF;--palette-warning-50: #FFF3E0;--palette-warning-100: #FFE0B2;--palette-warning-200: #FFCC80;--palette-warning-300: #FFB74D;--palette-warning-400: #FFA726;--palette-warning-500: #FF9800;--palette-warning-600: #FB8C00;--palette-warning-700: #F57C00;--palette-warning-800: #EF6C00;--palette-info-50: #E1F5FE;--palette-info-100: #B3E5FC;--palette-info-200: #81D4FA;--palette-info-300: #4FC3F7;--palette-info-400: #29B6F6;--palette-info-500: #03A9F4;--palette-info-600: #039BE5;--palette-info-700: #0288D1;--palette-info-800: #0277BD;--palette-white: #FFFFFF;--palette-neutral-50: #FAFAFA;--palette-neutral-100: #F5F5F5;--palette-neutral-200: #EEEEEE;--palette-neutral-300: #E0E0E0;--palette-neutral-400: #BDBDBD;--palette-neutral-500: #9E9E9E;--palette-neutral-600: #757575;--palette-neutral-700: #616161;--palette-neutral-800: #424242;--palette-neutral-900: #212121;--palette-blue-50: #E3F2FD;--palette-blue-100: #BBDEFB;--palette-blue-200: #90CAF9;--palette-blue-300: #64B5F6;--palette-blue-400: #42A5F5;--palette-blue-500: #2196F3;--palette-blue-600: #1976D2;--palette-blue-700: #1565C0;--palette-blue-800: #0D47A1;--palette-primary-50: #E3F2FD;--palette-primary-100: #BBDEFB;--palette-primary-200: #90CAF9;--palette-primary-700: #1565C0;--palette-success-50: #E8F5E9;--palette-success-100: #C8E6C9;--palette-success-200: #A5D6A7;--palette-success-500: #4CAF50;--palette-success-700: #388E3C;--palette-error-50: #FFEBEE;--palette-error-100: #FFCDD2;--palette-error-200: #EF9A9A;--palette-error-500: #EF5350;--palette-error-700: #D32F2F;--color-border: #E0E0E0;--color-divider: #EEEEEE;--color-outline: #9E9E9E;--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-family-mono: "Fira Code", "Monaco", "Courier New", monospace;--font-size-display: 32px;--font-size-headline: 24px;--font-size-title: 20px;--font-size-subtitle: 16px;--font-size-body: 14px;--font-size-label: 12px;--font-size-caption: 11px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-2xs: 2px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-round: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--bp-xs: 480px;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--bp-2xl: 1536px;--container-max-sm: 640px;--container-max-md: 768px;--container-max-lg: 1024px;--container-max-xl: 1280px;--container-max-2xl: 1440px;--focus-ring-color: #1976D2;--focus-ring-width: 2px;--focus-ring-offset: 2px;--focus-ring: 0 0 0 var(--focus-ring-width) var(--color-surface), 0 0 0 calc(var(--focus-ring-width) * 2) var(--focus-ring-color);--skeleton-base: #E5E7EB;--skeleton-highlight: #F3F4F6;--skeleton-duration: 1.4s;--elevation-card: var(--shadow-sm);--elevation-raised: var(--shadow-md);--elevation-overlay: var(--shadow-lg);--elevation-modal: var(--shadow-xl)}@keyframes ds-skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ds-focus-ring:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){:root{--transition-fast: 0ms;--transition-base: 0ms;--transition-slow: 0ms;--skeleton-duration: 0s}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-family-sans);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body{font-family:var(--font-family-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);margin:0;padding:0}.ds-display{font-size:var(--font-size-display);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary)}.ds-headline{font-size:var(--font-size-headline);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}.ds-title{font-size:var(--font-size-title);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--color-text-primary)}.ds-subtitle{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.ds-body{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-primary)}.ds-label{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.ds-caption{font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px var(--spacing-lg);font-family:var(--font-family-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.ds-btn:disabled{opacity:.5;cursor:not-allowed}.ds-btn-primary{background-color:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm)}.ds-btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark);box-shadow:var(--shadow-md)}.ds-btn-primary:active:not(:disabled){background-color:var(--color-primary-dark);box-shadow:var(--shadow-sm);transform:translateY(1px)}.ds-btn-secondary{background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.ds-btn-secondary:hover:not(:disabled){background-color:var(--palette-neutral-50);border-color:var(--color-primary);color:var(--color-primary)}.ds-btn-secondary:active:not(:disabled){background-color:var(--palette-neutral-100)}.ds-btn-text{background-color:transparent;color:var(--color-primary);padding:8px var(--spacing-md)}.ds-btn-text:hover:not(:disabled){background-color:#1976d214}.ds-btn-text:active:not(:disabled){background-color:#1976d229}.ds-btn-danger{background-color:var(--color-error);color:#fff;box-shadow:var(--shadow-sm)}.ds-btn-danger:hover:not(:disabled){background-color:var(--color-error-dark, var(--color-error));box-shadow:var(--shadow-md);filter:brightness(.92)}.ds-btn-danger:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(1px)}.ds-btn-danger-outline{background-color:transparent;color:var(--color-error);border:1px solid var(--color-error)}.ds-btn-danger-outline:hover:not(:disabled){background-color:#d32f2f14}.ds-btn-danger-outline:active:not(:disabled){background-color:#d32f2f29}.ds-btn-sm{padding:6px var(--spacing-md);font-size:var(--font-size-label)}.ds-btn-lg{padding:14px var(--spacing-xl);font-size:var(--font-size-subtitle)}.ds-btn-icon{padding:var(--spacing-sm);width:40px;height:40px;border-radius:var(--radius-round)}.ds-breadcrumb{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;margin-bottom:var(--spacing-md);padding:var(--spacing-sm) 0}.ds-breadcrumb-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-primary);text-decoration:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-base);background:none;border:none;cursor:pointer;font-family:inherit}.ds-breadcrumb-link:hover{background-color:#1976d214;text-decoration:none}.ds-breadcrumb-link:active{background-color:#1976d229}.ds-breadcrumb-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ds-breadcrumb-link svg{width:16px;height:16px;flex-shrink:0}.ds-breadcrumb-separator{color:var(--color-text-secondary);font-size:var(--font-size-body);-webkit-user-select:none;user-select:none;margin:0 var(--spacing-xs)}.ds-breadcrumb-current{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);padding:var(--spacing-xs) var(--spacing-sm)}.ds-breadcrumb-link-with-icon,.ds-breadcrumb-current-with-icon{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.ds-breadcrumb-compact{gap:0;margin-bottom:var(--spacing-sm)}.ds-breadcrumb-compact .ds-breadcrumb-link,.ds-breadcrumb-compact .ds-breadcrumb-current{padding:var(--spacing-xs);font-size:var(--font-size-label)}.ds-page-header .ds-breadcrumb{margin-bottom:var(--spacing-sm)}.ds-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);overflow:hidden;transition:box-shadow var(--transition-base),transform var(--transition-base);margin-bottom:15px}.ds-card:hover{box-shadow:var(--shadow-md)}.ds-card-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-divider);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);min-height:64px}.ds-card-title{font-size:var(--font-size-title);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);display:flex;align-items:center;gap:var(--spacing-sm);margin:0}.ds-card-title svg{flex-shrink:0;color:var(--color-text-secondary)}.ds-card-subtitle{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);margin:var(--spacing-xs) 0 0 0;line-height:var(--line-height-normal)}.ds-card-content{padding:var(--spacing-xl)}.ds-card-content-compact{padding:var(--spacing-lg)}.ds-card-section{margin-bottom:var(--spacing-lg)}.ds-card-section:last-child{margin-bottom:0}.ds-card-section-title{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.ds-card-footer{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-divider);display:flex;align-items:center;gap:var(--spacing-md);justify-content:flex-end;background-color:var(--palette-neutral-50)}.ds-card-actions{display:flex;align-items:center;gap:var(--spacing-sm);margin-left:auto}.ds-card-outlined{box-shadow:none;border:2px solid var(--color-border)}.ds-card-outlined:hover{border-color:var(--color-primary);box-shadow:none}.ds-card-elevated{box-shadow:var(--shadow-md);border:none}.ds-card-elevated:hover{box-shadow:var(--shadow-lg)}.ds-card-filled{background-color:var(--palette-neutral-100);box-shadow:none;border:none}.ds-card-body{padding:var(--spacing-xl)}.ds-stat-card{background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.ds-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.ds-stat-value{font-size:var(--font-size-display);font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:var(--line-height-tight);margin-bottom:var(--spacing-xs)}.ds-stat-label{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-secondary)}.ds-stat-change{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);margin-top:var(--spacing-xs)}.ds-stat-change.positive{color:var(--color-success)}.ds-stat-change.negative{color:var(--color-error)}.ds-badge{display:inline-flex;align-items:center;padding:4px var(--spacing-sm);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);line-height:1;border-radius:var(--radius-sm);text-transform:capitalize}.ds-badge-active{background-color:#4caf501a;color:var(--color-success-dark)}.ds-badge-inactive{background-color:#9e9e9e1a;color:var(--color-text-secondary)}.ds-badge-warning{background-color:#ffa7261a;color:var(--color-warning-dark)}.ds-badge-error{background-color:#ef53501a;color:var(--color-error-dark)}.ds-badge-info{background-color:#29b6f61a;color:var(--color-info-dark)}.ds-badge-primary{background-color:#1976d21a;color:var(--color-primary-dark)}.ds-chip{display:inline-flex;align-items:center;padding:4px 12px;font-size:var(--font-size-label);font-weight:var(--font-weight-medium);line-height:1.2;border-radius:var(--radius-full);white-space:nowrap}.ds-chip-success{background-color:#4caf501f;color:#2e7d32}.ds-chip-warning{background-color:#ff98001f;color:#e65100}.ds-chip-error{background-color:#ef53501f;color:#c62828}.ds-chip-neutral{background-color:var(--palette-neutral-100);color:var(--color-text-secondary)}.ds-chip-primary{background-color:var(--color-primary-container);color:var(--color-primary)}.ds-tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--color-divider);margin-bottom:var(--spacing-lg)}.ds-tab{position:relative;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family-sans)}.ds-tab:hover{color:var(--color-primary);background-color:#1976d20a}.ds-tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.ds-tab:focus{outline:2px solid var(--color-primary);outline-offset:2px}.ds-tab:disabled{color:var(--color-text-disabled);cursor:not-allowed;background-color:transparent}.ds-table-container{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow-x:auto;margin-top:var(--spacing-lg)}.ds-table{width:100%;min-width:800px;border-collapse:collapse}.ds-table thead{background-color:var(--palette-neutral-50)}.ds-table th{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-align:left;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-divider)}.ds-table td{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-body);color:var(--color-text-primary);border-bottom:1px solid var(--color-divider)}.ds-table tbody tr{transition:background-color var(--transition-fast)}.ds-table tbody tr:hover{background-color:var(--palette-neutral-50)}.ds-table tbody tr:last-child td{border-bottom:none}.ds-table th.ds-table-numeric,.ds-table td.ds-table-numeric{text-align:right}.ds-cell-primary{font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:2px}.ds-cell-secondary{font-size:var(--font-size-label);color:var(--color-text-secondary);margin-top:2px}.ds-action-group{display:flex;gap:var(--spacing-sm)}.ds-form-field{margin-bottom:var(--spacing-lg)}.ds-form-field .ds-label{display:block;margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.ds-input,.ds-select,.ds-textarea{width:100%;padding:10px var(--spacing-md);font-family:var(--font-family-sans);font-size:var(--font-size-body);color:var(--color-text-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base);outline:none}.ds-input:hover,.ds-select:hover,.ds-textarea:hover{border-color:var(--color-text-secondary)}.ds-input:focus,.ds-select:focus,.ds-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1976d21a}.ds-input::placeholder,.ds-textarea::placeholder{color:var(--color-text-hint)}.ds-textarea{min-height:120px;resize:vertical}.ds-input-search{padding-left:40px;background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 17A8 8 0 1 0 9 1a8 8 0 0 0 0 16zM19 19l-4.35-4.35' stroke='%239E9E9E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center;background-size:18px}.ds-form-group{margin-bottom:var(--spacing-lg)}.ds-form-group label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-transform:none;letter-spacing:normal}.ds-input-error{border-color:var(--color-error)!important}.ds-input-error:focus{border-color:var(--color-error)!important;box-shadow:0 0 0 3px #ef53501a!important}.ds-error-text{display:block;margin-top:var(--spacing-xs);font-size:var(--font-size-label);color:var(--color-error);line-height:var(--line-height-normal)}.ds-help-text{display:block;margin-top:var(--spacing-xs);font-size:var(--font-size-label);color:var(--color-text-hint);line-height:var(--line-height-normal)}.ds-alert{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-body);margin-bottom:var(--spacing-lg)}.ds-alert span,.ds-alert p,.ds-alert div{white-space:pre-wrap;word-break:break-word}.ds-alert-success{background-color:#4caf501a;border-left:4px solid var(--color-success);color:var(--color-success-dark)}.ds-alert-warning{background-color:#ffa7261a;border-left:4px solid var(--color-warning);color:var(--color-warning-dark)}.ds-alert-error{background-color:#ef53501a;border-left:4px solid var(--color-error);color:var(--color-error-dark)}.ds-alert-info{background-color:#29b6f61a;border-left:4px solid var(--color-info);color:var(--color-info-dark)}.ds-page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.ds-header-content{flex:1}.ds-header-meta{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.ds-header-meta svg{color:var(--color-text-secondary)}.ds-header-meta-label{color:var(--color-text-secondary)}.ds-header-meta-link{color:var(--color-primary);text-decoration:none;cursor:pointer}.ds-header-meta-link:hover{text-decoration:underline}.ds-header-status{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.ds-headline-link{color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-fast)}.ds-headline-link:hover{color:var(--color-primary)}.ds-header-actions{display:flex;gap:var(--spacing-md)}.ds-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.ds-active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.ds-active-filters-label{font-size:var(--font-size-label);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.ds-filter-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:6px 12px;background-color:var(--color-primary-light, #E0E7FF);color:var(--color-primary, #4F46E5);border:1px solid var(--color-primary, #4F46E5);border-radius:999px;font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-base)}.ds-filter-chip:hover,.ds-filter-chip:focus-visible{background-color:var(--color-primary, #4F46E5);color:#fff}.ds-filter-chip .material-symbols-outlined{font-size:18px}.ds-controls-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);padding:var(--spacing-lg);background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg)}.ds-filters-group{display:flex;gap:var(--spacing-md);flex:1}.ds-search-section{display:flex;align-items:center;gap:var(--spacing-md)}.ds-results-count{font-size:var(--font-size-label);color:var(--color-text-secondary);white-space:nowrap}.ds-empty-state{text-align:center;padding:var(--spacing-3xl) var(--spacing-xl);background-color:var(--color-surface);border-radius:var(--radius-lg)}.ds-empty-state svg{color:var(--color-text-hint);margin-bottom:var(--spacing-lg)}.ds-empty-state .ds-title{margin-bottom:var(--spacing-sm)}.ds-empty-state .ds-body{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.ds-empty-state-icon{margin-bottom:var(--spacing-lg)}.ds-empty-state-icon .material-symbols-outlined{font-size:48px;color:var(--color-text-hint)}.ds-empty-state-title{font-size:var(--font-size-body-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.ds-empty-state-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.ds-text-center{text-align:center}.ds-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);gap:var(--spacing-lg)}.ds-spinner{width:48px;height:48px;border:4px solid var(--palette-neutral-200);border-top-color:var(--color-primary);border-radius:50%;animation:ds-spin .8s linear infinite}@keyframes ds-spin{to{transform:rotate(360deg)}}.ds-nav{background-color:var(--color-surface);border-bottom:1px solid var(--color-divider);position:sticky;top:0;z-index:var(--z-sticky);box-shadow:var(--shadow-sm)}.ds-nav-container{padding:0 var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;height:64px;gap:var(--spacing-md);position:relative;overflow:hidden}.ds-nav-logo{display:flex;align-items:center;gap:var(--spacing-sm);text-decoration:none;flex-shrink:0;transition:opacity var(--transition-fast)}.ds-nav-logo:hover{opacity:.8}.ds-logo-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.ds-logo-text{font-size:var(--font-size-title);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1}.ds-logo-subtitle{font-size:var(--font-size-label);color:var(--color-text-secondary);font-weight:var(--font-weight-regular);margin-left:var(--spacing-xs)}.ds-nav-links{display:flex;align-items:center;gap:var(--spacing-xs)}.ds-nav-link{display:flex;align-items:center;gap:6px;padding:6px var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-decoration:none;transition:all var(--transition-fast);white-space:nowrap}.ds-nav-link.active{background-color:#1976d214;color:var(--color-primary)}.nav-hud{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:1;min-width:0;overflow:hidden}.nav-hud-item{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--color-text-primary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);transition:background-color var(--transition-base);min-width:0}a.nav-hud-item:hover,.nav-hud-tokens:hover{background-color:var(--palette-neutral-100)}.nav-hud-label{font-size:12px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px;line-height:1.2}.nav-hud-bar-row{display:flex;align-items:center;gap:var(--spacing-xs);width:100%}.nav-hud-bar{flex:1;height:4px;background-color:var(--palette-neutral-200);border-radius:2px;overflow:hidden;min-width:80px}.nav-hud-bar-fill{height:100%;background-color:var(--color-primary);border-radius:2px;transition:width .5s ease-out}.nav-hud-bar-fill.warning{background-color:var(--color-warning)}.nav-hud-bar-fill.danger{background-color:var(--color-error)}.nav-hud-value{font-size:11px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap;line-height:1}.ds-nav-actions{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}.nav-user-menu-container{position:relative}.ds-nav-user-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:6px var(--spacing-md) 6px 6px;background:none;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-primary)}.ds-nav-user-btn:hover{background-color:var(--palette-neutral-100);border-color:var(--color-border)}.ds-user-avatar{width:36px;height:36px;border-radius:var(--radius-round);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-body);flex-shrink:0}.ds-user-avatar-large{width:56px;height:56px;border-radius:var(--radius-round);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-title);flex-shrink:0}.ds-user-name{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-user-dropdown{position:absolute;top:calc(100% + var(--spacing-sm));right:0;min-width:280px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);animation:slideDown var(--transition-fast)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ds-user-dropdown-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg)}.ds-user-info{flex:1;min-width:0}.ds-user-info-name{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px}.ds-user-info-email{font-size:var(--font-size-label);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-user-dropdown-divider{height:1px;background-color:var(--color-divider);margin:0}.ds-user-dropdown-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-primary);text-decoration:none;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);background:none;border:none;width:100%;cursor:pointer;transition:background-color var(--transition-fast);text-align:left}.ds-user-dropdown-item:hover{background-color:var(--palette-neutral-100)}.ds-user-dropdown-item.logout{color:var(--color-error)}.ds-user-dropdown-item.logout:hover{background-color:#ef535014}.ds-nav-mobile-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:none;border:none;color:var(--color-text-primary);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast)}.ds-nav-mobile-btn:hover{background-color:var(--palette-neutral-100)}.ds-nav-chevron{transition:transform var(--transition-base);transform:rotate(0)}.ds-nav-chevron-open{transform:rotate(180deg)}.ds-mt-xs{margin-top:var(--spacing-xs)}.ds-nav-mobile-overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-base)}.ds-nav-mobile-menu{display:none;position:fixed;top:0;right:0;width:320px;max-width:85vw;height:100vh;background-color:var(--color-surface);box-shadow:var(--shadow-xl);z-index:var(--z-modal);overflow-y:auto;animation:slideInRight var(--transition-base)}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.ds-nav-mobile-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:var(--color-on-primary)}.ds-nav-mobile-header .ds-user-info-name,.ds-nav-mobile-header .ds-user-info-email{color:var(--color-on-primary)}.ds-nav-mobile-divider{height:1px;background-color:var(--color-divider);margin:var(--spacing-sm) 0}.ds-nav-mobile-link{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);color:var(--color-text-primary);text-decoration:none;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);background:none;border:none;width:100%;cursor:pointer;transition:background-color var(--transition-fast);text-align:left;border-left:3px solid transparent}.ds-nav-mobile-link:hover{background-color:var(--palette-neutral-100)}.ds-nav-mobile-link.active{background-color:#1976d214;color:var(--color-primary);border-left-color:var(--color-primary)}.ds-nav-mobile-link.logout{color:var(--color-error)}.ds-nav-mobile-link.logout:hover{background-color:#ef535014}.ds-nav-mobile-link-icon{display:flex;align-items:center;justify-content:center;width:24px;flex-shrink:0}.ds-nav-mobile-link-label{flex:1}.ds-nav-mobile-actions{padding:var(--spacing-md) 0}.ds-nav-mobile-section{margin-bottom:var(--spacing-sm)}.ds-nav-mobile-section-title{padding:var(--spacing-md) var(--spacing-xl) var(--spacing-sm);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}@media (max-width: 1024px){.ds-nav-container{padding:0 var(--spacing-md)}.ds-nav-links,.ds-user-name{display:none}.ds-nav-mobile-btn{display:flex}.ds-nav-mobile-overlay,.ds-nav-mobile-menu{display:block}}@media (max-width: 768px){:root{--font-size-display: 28px;--font-size-headline: 22px;--font-size-title: 18px}.ds-logo-subtitle,.nav-hud{display:none}.ds-page-header{flex-direction:column;align-items:flex-start}.ds-header-actions{width:100%}.ds-controls-bar{flex-direction:column;align-items:stretch}.ds-filters-group{flex-direction:column}.ds-search-section{flex-direction:column;align-items:stretch}.ds-stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}.ds-text-secondary{color:var(--color-text-secondary)}.ds-icon-primary{color:var(--color-primary)}.ds-center-actions{margin-top:var(--spacing-lg);text-align:center}.ds-button-group{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.ds-divider{height:1px;background-color:var(--color-border);margin:var(--spacing-md) 0}.ds-code-inline{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:var(--font-size-label);color:var(--color-text-secondary);background-color:var(--palette-neutral-100);padding:2px 6px;border-radius:var(--radius-sm)}.ds-badge-with-label{display:flex;align-items:center;gap:var(--spacing-xs)}.ds-empty-state-actions{margin-top:var(--spacing-lg);display:flex;gap:var(--spacing-md);justify-content:center}.ds-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.ds-detail-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ds-detail-item-full{grid-column:1 / -1}.ds-detail-label{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.ds-detail-value{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-primary);line-height:var(--line-height-relaxed)}.ds-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.ds-list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--palette-neutral-50);border-radius:var(--radius-md);border:1px solid var(--color-divider);transition:all var(--transition-base)}.ds-list-item:hover{background-color:var(--color-surface);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.ds-list-item-content{flex:1;min-width:0}.ds-list-item-title{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.ds-list-item-description{font-size:var(--font-size-body);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.ds-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}.ds-form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ds-form-group-full{grid-column:1 / -1}.ds-form-label{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.ds-required{color:var(--color-error)}.ds-form-hint{font-size:var(--font-size-label);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-normal)}.ds-input,.ds-textarea{width:100%;font-size:var(--font-size-body);font-family:inherit;color:var(--color-text-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base)}.ds-input:hover,.ds-textarea:hover{border-color:var(--color-primary)}.ds-input:focus,.ds-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1976d21a}.ds-input:disabled,.ds-textarea:disabled{background-color:var(--palette-neutral-100);color:var(--color-text-secondary);cursor:not-allowed}.ds-textarea{resize:vertical;line-height:var(--line-height-relaxed);min-height:100px}.ds-checkbox-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.ds-checkbox-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--palette-neutral-50);border:1px solid var(--color-divider);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.ds-checkbox-item:hover{background-color:var(--color-surface);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.ds-checkbox{width:20px;height:20px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color:var(--color-primary)}.ds-checkbox-content{flex:1;min-width:0}.ds-checkbox-title{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.ds-checkbox-description{font-size:var(--font-size-body);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.ds-form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl)}.ds-spinner-icon{animation:ds-spin 1s linear infinite}@keyframes ds-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ds-list-styled{list-style-position:outside;padding-left:var(--spacing-xl);margin:var(--spacing-md) 0}.ds-list-styled li{margin-bottom:var(--spacing-sm);line-height:var(--line-height-relaxed);color:var(--color-text-primary)}.ds-list-styled li:last-child{margin-bottom:0}.ds-score-circle{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;position:relative;width:var(--score-circle-size);height:var(--score-circle-size)}.ds-score-circle__progress{transition:stroke-dashoffset var(--transition-slow)}.ds-score-circle__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.ds-score-circle__value{font-size:var(--score-circle-font-size);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1}.ds-score-circle__label{font-size:var(--font-size-caption);color:var(--color-text-secondary);margin-top:2px}:root{--shell-sidebar-width: 264px;--shell-header-height: 64px;--shell-content-padding: var(--spacing-lg);--shell-touch-target: 44px}.app-shell{display:grid;grid-template-areas:"sidebar main";grid-template-columns:var(--shell-sidebar-width) minmax(0,1fr);min-height:100vh;background-color:var(--color-background)}.shell-sidebar{grid-area:sidebar;background-color:var(--color-surface);border-right:1px solid var(--color-divider);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:calc(var(--z-sticky) + 5);transition:transform var(--transition-base)}.shell-brand{display:flex;align-items:center;gap:var(--spacing-sm);padding:0 var(--spacing-lg);text-decoration:none;height:var(--shell-header-height);min-height:var(--shell-header-height);border-bottom:1px solid var(--color-divider);box-sizing:border-box}.shell-brand-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.shell-brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.shell-brand-name{font-family:var(--font-family-sans);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.shell-brand-subtitle{font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);color:var(--color-text-secondary)}.shell-collapse-btn{position:fixed;top:calc(var(--shell-header-height) - 14px);left:calc(var(--shell-sidebar-width) - 14px);width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:50%;color:var(--color-text-secondary);cursor:pointer;z-index:calc(var(--z-sticky) + 10);box-shadow:var(--shadow-sm);transition:left var(--transition-base),color var(--transition-fast),background-color var(--transition-fast)}.shell-collapse-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}.shell-collapse-btn .material-symbols-outlined{font-size:18px;line-height:1}.shell-nav{flex:1;padding:var(--spacing-md) 0;display:flex;flex-direction:column;gap:var(--spacing-md)}@media (min-width: 1025px){.app-shell.is-collapsed{--shell-sidebar-width: 72px}.app-shell.is-collapsed .shell-brand{padding:0;justify-content:center;gap:0}.app-shell.is-collapsed .shell-brand-text,.app-shell.is-collapsed .shell-nav-title{display:none}.app-shell.is-collapsed .shell-nav-list>li{padding:0 var(--spacing-xs)}.app-shell.is-collapsed .shell-nav-link{justify-content:center;gap:0;padding:10px 0}.app-shell.is-collapsed .shell-nav-label{display:none}.app-shell.is-collapsed .shell-nav-link.is-active:before{left:0}}@media (max-width: 1024px){.shell-collapse-btn{display:none}}.shell-nav-section{display:flex;flex-direction:column;gap:var(--spacing-xs)}.shell-nav-title{padding:var(--spacing-xs) var(--spacing-lg);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-text-hint);text-transform:uppercase;letter-spacing:.5px}.shell-nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.shell-nav-list>li{padding:0 var(--spacing-sm)}.shell-nav-link{display:flex;align-items:center;gap:var(--spacing-md);padding:10px var(--spacing-md);min-height:var(--shell-touch-target);border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-family:var(--font-family-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast),color var(--transition-fast);position:relative;box-sizing:border-box}.shell-nav-link:hover{background-color:var(--palette-neutral-100);color:var(--color-text-primary)}.shell-nav-link.is-active{background-color:#1976d214;color:var(--color-primary)}.shell-nav-link.is-active:before{content:"";position:absolute;left:calc(-1 * var(--spacing-sm));top:20%;bottom:20%;width:3px;background-color:var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.shell-nav-icon{font-size:20px;flex-shrink:0;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;transition:font-variation-settings var(--transition-fast)}.shell-nav-link.is-active .shell-nav-icon{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}.shell-nav-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-main{grid-area:main;display:flex;flex-direction:column;min-width:0;min-height:100vh}.shell-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);height:var(--shell-header-height);padding:0 var(--shell-content-padding);background-color:var(--color-surface);border-bottom:1px solid var(--color-divider);position:sticky;top:0;z-index:var(--z-sticky)}.shell-drawer-btn{display:none;align-items:center;justify-content:center;width:var(--shell-touch-target);height:var(--shell-touch-target);padding:0;background:none;border:none;border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast)}.shell-drawer-btn:hover{background-color:var(--palette-neutral-100)}.shell-drawer-btn .material-symbols-outlined{font-size:24px}.shell-header-right{display:flex;align-items:center;gap:var(--spacing-md);margin-left:auto;min-width:0;flex-shrink:0;justify-content:flex-end}.shell-breadcrumb-slot{flex:1 1 auto;min-width:0;display:flex;align-items:center;overflow:hidden}.shell-breadcrumb-slot .ds-breadcrumbs{min-width:0;width:100%;font-size:var(--font-size-label)}.shell-breadcrumb-slot .ds-breadcrumbs__list{display:flex;flex-wrap:nowrap;padding:0;background:transparent;border:none;border-radius:0;min-width:0;overflow:hidden}.shell-breadcrumb-slot .ds-breadcrumbs__item{flex-shrink:0;min-width:0}.shell-breadcrumb-slot .ds-breadcrumbs__item:last-child{flex-shrink:1;min-width:0;overflow:hidden}.shell-breadcrumb-slot .ds-breadcrumbs__current{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block}.shell-breadcrumb-slot .ds-breadcrumbs__link{white-space:nowrap}.shell-hud{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0;overflow:hidden}.shell-hud-item{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--color-text-primary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);transition:background-color var(--transition-base);min-width:0;max-width:420px}.shell-hud-item:hover{background-color:var(--palette-neutral-100)}.shell-hud-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-hud-bar{height:4px;border-radius:2px;background-color:var(--palette-neutral-200);overflow:hidden;min-width:80px}.shell-hud-bar-fill{height:100%;background-color:var(--color-primary);transition:width .5s ease-out}.shell-hud-bar-fill.warning{background-color:var(--color-warning)}.shell-hud-bar-fill.danger{background-color:var(--color-error)}.shell-user-menu{position:relative;flex-shrink:0}.shell-user-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:4px var(--spacing-sm) 4px 4px;min-height:var(--shell-touch-target);background:none;border:1px solid transparent;border-radius:var(--radius-round);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast);color:var(--color-text-primary);font-family:var(--font-family-sans)}.shell-user-btn:hover{background-color:var(--palette-neutral-100);border-color:var(--color-border)}.shell-user-avatar,.shell-user-avatar-lg{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:var(--color-on-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);flex-shrink:0;border-radius:var(--radius-round)}.shell-user-avatar{width:36px;height:36px;font-size:var(--font-size-body)}.shell-user-avatar-lg{width:56px;height:56px;font-size:var(--font-size-title)}.shell-user-name{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-user-chevron{font-size:20px;color:var(--color-text-secondary);transition:transform var(--transition-fast)}.shell-user-chevron.is-open{transform:rotate(180deg)}.shell-user-dropdown{position:absolute;top:calc(100% + var(--spacing-sm));right:0;min-width:280px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--elevation-overlay);z-index:var(--z-dropdown);animation:shell-fade-down var(--transition-fast)}@keyframes shell-fade-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.shell-user-dropdown-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg)}.shell-user-info{flex:1;min-width:0}.shell-user-info-name{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-user-info-email{font-size:var(--font-size-label);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-user-dropdown-divider{height:1px;background-color:var(--color-divider);margin:0}.shell-user-dropdown-item{display:flex;align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md) var(--spacing-lg);min-height:var(--shell-touch-target);background:none;border:none;text-align:left;cursor:pointer;color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);text-decoration:none;transition:background-color var(--transition-fast);box-sizing:border-box}.shell-user-dropdown-item:hover{background-color:var(--palette-neutral-100)}.shell-user-dropdown-item.is-logout{color:var(--color-error)}.shell-user-dropdown-item.is-logout:hover{background-color:#ef535014}.shell-content{flex:1;min-width:0;min-height:0;padding:var(--shell-content-padding)}.shell-content:has(>[data-shell-layout=flush]){display:flex;flex-direction:column;flex:none;height:calc(100vh - var(--shell-header-height));max-height:calc(100vh - var(--shell-header-height));overflow:hidden;padding:0}.shell-drawer-overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:calc(var(--z-modal-backdrop));animation:shell-fade-in var(--transition-base)}@keyframes shell-fade-in{0%{opacity:0}to{opacity:1}}@media (max-width: 1024px){.app-shell{grid-template-areas:"main";grid-template-columns:minmax(0,1fr)}.shell-sidebar{position:fixed;top:0;left:0;width:280px;max-width:85vw;height:100vh;z-index:var(--z-modal);transform:translate(-100%);box-shadow:var(--shadow-xl)}.app-shell.is-drawer-open .shell-sidebar{transform:translate(0)}.app-shell.is-drawer-open .shell-drawer-overlay{display:block}.shell-drawer-btn{display:inline-flex}.shell-user-name{display:none}}@media (max-width: 768px){:root{--shell-header-height: 52px;--shell-content-padding: var(--spacing-md)}.shell-hud,.shell-breadcrumb-slot{display:none}.shell-user-btn{padding:4px}.shell-user-avatar{width:36px;height:36px}.shell-header{padding:0 var(--spacing-sm) 0 var(--spacing-xs)}.shell-user-dropdown{right:0;min-width:260px}.ds-table-container,.shell-content .ds-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 480px){.shell-brand-subtitle{display:none}.shell-user-dropdown{min-width:calc(100vw - 2 * var(--spacing-md));right:calc(-1 * var(--spacing-xs))}}.app{min-height:100vh;background-color:var(--color-background)}.form-container{max-width:600px;margin:0 auto}.form-label-required:after{content:" *";color:var(--color-error-dark)}.form-input,.form-textarea,.form-select{width:100%;padding:10px var(--spacing-md);font-size:var(--font-size-body);font-family:var(--font-family-sans);color:var(--color-text-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1976d229}.form-input.error,.form-textarea.error,.form-select.error{border-color:var(--color-error-dark)}.form-error{display:block;font-size:var(--font-size-label);color:var(--color-error-dark);margin-top:4px;white-space:pre-wrap;word-break:break-word}.form-hint{display:block;font-size:var(--font-size-label);color:var(--color-text-secondary);margin-top:4px}.form-textarea{min-height:120px;resize:vertical}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.form-actions.right{justify-content:flex-end}.form-actions.space-between{justify-content:space-between}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-lg)}.modal-container{background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{padding:var(--spacing-xl);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:var(--font-size-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.modal-close{background:none;border:none;font-size:24px;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-md);transition:all .2s ease}.modal-close:hover{background-color:var(--palette-neutral-50);color:var(--color-text-primary)}.modal-body{padding:var(--spacing-xl)}.modal-footer{padding:var(--spacing-xl);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-md);justify-content:flex-end}.tabs-container{background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden}.tabs-header{display:flex;border-bottom:1px solid var(--color-border);background-color:var(--palette-neutral-50)}.tab-button{flex:1;padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;position:relative}.tab-button:hover{color:var(--color-text-primary);background-color:#00000005}.tab-button.active{color:var(--color-primary)}.tab-button.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--color-primary)}.tabs-content{padding:var(--spacing-xl)}.tooltip-container{position:relative;display:inline-block}.tooltip-text{visibility:hidden;position:absolute;bottom:125%;left:50%;transform:translate(-50%);background-color:var(--palette-neutral-900);color:var(--palette-white);padding:6px var(--spacing-sm);border-radius:6px;font-size:var(--font-size-label);white-space:nowrap;z-index:10000;opacity:0;transition:opacity .2s ease}.tooltip-text:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--palette-neutral-900)}.tooltip-container:hover .tooltip-text{visibility:visible;opacity:1}.skeleton{background:linear-gradient(90deg,var(--palette-neutral-200) 25%,var(--palette-neutral-50) 50%,var(--palette-neutral-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.skeleton-text{height:16px;margin-bottom:var(--spacing-sm)}.skeleton-title{height:24px;width:60%;margin-bottom:var(--spacing-md)}.skeleton-card{height:200px;width:100%}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xl)}.pagination-button{padding:8px var(--spacing-md);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.pagination-button:hover:not(:disabled){background-color:var(--palette-neutral-50);border-color:var(--color-primary)}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-button.active{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.pagination-info{font-size:var(--font-size-body);color:var(--color-text-secondary);padding:0 var(--spacing-md)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.flex{display:flex}.flex-column{flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (max-width: 768px){.hide-mobile{display:none!important}}@media (min-width: 769px){.hide-desktop{display:none!important}}.cookie-consent-overlay{position:fixed;bottom:0;left:0;right:0;z-index:10000;padding:var(--spacing-md);pointer-events:none;animation:slideInUp .4s ease-out}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-consent-banner{background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--elevation-overlay);max-width:600px;margin:0 auto;padding:var(--spacing-xl);pointer-events:auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.cookie-consent-content{display:flex;gap:var(--spacing-md);align-items:flex-start}.cookie-consent-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-radius:var(--radius-lg);color:#fff}.cookie-consent-text{flex:1}.cookie-consent-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;line-height:var(--line-height-tight)}.cookie-consent-message{font-size:var(--font-size-body);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-relaxed)}.cookie-consent-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md)}.cookie-consent-btn{padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);font-family:var(--font-family-sans);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;min-height:44px}.cookie-consent-btn-primary{background-color:var(--color-primary);color:#fff}.cookie-consent-btn-primary:hover{background-color:var(--color-primary-dark);box-shadow:0 4px 12px #1976d24d;transform:translateY(-1px)}.cookie-consent-btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #1976d24d}@media (max-width: 768px){.cookie-consent-overlay{padding:var(--spacing-sm)}.cookie-consent-banner{padding:var(--spacing-lg)}.cookie-consent-content{flex-direction:column;gap:var(--spacing-md)}.cookie-consent-icon{width:40px;height:40px}.cookie-consent-actions{justify-content:stretch}.cookie-consent-btn{flex:1}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-background) 0%,var(--palette-neutral-200) 100%);padding:var(--spacing-lg)}.auth-container{width:100%;max-width:480px}.auth-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--elevation-raised);padding:var(--spacing-2xl) 40px;animation:authFadeIn .4s cubic-bezier(.4,0,.2,1)}@keyframes authFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-branding{text-align:center;margin-bottom:40px}.auth-logo-wrapper{display:inline-flex;margin-bottom:var(--spacing-lg)}.auth-logo-icon{width:64px;height:64px;display:block}.auth-title{font-family:var(--font-family-sans);font-size:28px;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.auth-description{font-family:var(--font-family-sans);font-size:15px;font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-secondary);margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.auth-field{display:flex;flex-direction:column;gap:var(--spacing-sm)}.auth-field-group{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.auth-field-label{font-family:var(--font-family-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);line-height:1.4;color:var(--color-text-primary)}.auth-input{width:100%;padding:12px var(--spacing-md);font-family:var(--font-family-sans);font-size:15px;font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:all var(--transition-base);box-sizing:border-box;min-height:44px}.auth-input::placeholder{color:var(--color-text-hint)}.auth-input:hover{border-color:var(--color-text-hint)}.auth-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1976d229}.auth-password-wrapper{position:relative;display:flex;align-items:center}.auth-password-wrapper .auth-input{padding-right:44px}.auth-password-toggle{position:absolute;right:var(--spacing-sm);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-round);background:transparent;color:var(--palette-neutral-600);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.auth-password-toggle:hover{background-color:#0000000a;color:var(--palette-neutral-800)}.auth-password-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-password-toggle .material-symbols-outlined{font-size:20px}.auth-input-error{border-color:var(--color-error)!important}.auth-input-error:focus{border-color:var(--color-error)!important;box-shadow:0 0 0 3px #ef535029!important}.auth-input:disabled{opacity:.6;background-color:var(--palette-neutral-100);cursor:not-allowed}.auth-field-error{font-family:var(--font-family-sans);font-size:13px;font-weight:var(--font-weight-regular);line-height:1.4;color:var(--color-error);white-space:pre-wrap;word-break:break-word}.auth-forgot-password-link{display:block;margin-top:6px;font-family:var(--font-family-sans);font-size:13px;font-weight:var(--font-weight-medium);color:var(--color-primary-light);text-decoration:none;text-align:right}.auth-forgot-password-link:hover{text-decoration:underline;color:var(--color-primary)}.auth-field-hint{font-family:var(--font-family-sans);font-size:13px;font-weight:var(--font-weight-regular);line-height:1.4;color:var(--palette-neutral-600)}.auth-alert{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:14px var(--spacing-md);border-radius:var(--radius-md);font-family:var(--font-family-sans);font-size:var(--font-size-body);line-height:var(--line-height-normal)}.auth-alert span,.auth-alert p,.auth-alert div{white-space:pre-wrap;word-break:break-word}.auth-alert-error{background-color:#ef535014;border-left:4px solid var(--color-error);color:var(--color-error-dark)}.auth-alert-success{background-color:#4caf5014;border-left:4px solid var(--color-success);color:var(--color-success-dark)}.auth-alert-info{background-color:#1976d214;border-left:4px solid var(--color-primary);color:var(--color-text-primary)}.auth-alert-icon{width:20px;height:20px;flex-shrink:0;margin-top:1px}.auth-submit-button{width:100%;padding:14px var(--spacing-lg);font-family:var(--font-family-sans);font-size:15px;font-weight:var(--font-weight-medium);line-height:1;color:var(--color-on-primary);background-color:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);box-shadow:var(--shadow-sm);margin-top:var(--spacing-sm);min-height:44px}.auth-submit-button:hover:not(:disabled){background-color:var(--color-primary-dark);box-shadow:var(--shadow-md)}.auth-submit-button:active:not(:disabled){background-color:var(--palette-blue-800);box-shadow:var(--shadow-sm);transform:scale(.99)}.auth-submit-button:disabled{opacity:.6;cursor:not-allowed}.auth-spinner{width:20px;height:20px;animation:authRotate 1s linear infinite}.auth-spinner-track{stroke:#fff3}.auth-spinner-head{stroke:var(--color-on-primary);stroke-dasharray:50;stroke-dashoffset:25;stroke-linecap:round}@keyframes authRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-legal-disclosure{font-family:var(--font-family-sans);font-size:var(--font-size-label);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--palette-neutral-600);text-align:center;margin:0 0 var(--spacing-md) 0}.auth-footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);text-align:center}.auth-footer-text{font-family:var(--font-family-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-secondary);margin:0}.auth-footer-link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium);transition:color var(--transition-base)}.auth-footer-link:hover{color:var(--color-primary-dark);text-decoration:underline}.auth-footer-link:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media (max-width: 640px){.auth-page{padding:var(--spacing-md)}.auth-card{padding:40px var(--spacing-lg)}.auth-title{font-size:var(--font-size-headline)}.auth-description{font-size:var(--font-size-body)}.auth-field-group{grid-template-columns:1fr;gap:var(--spacing-lg)}.auth-logo-icon{width:56px;height:56px}}@media (max-width: 400px){.auth-card{padding:var(--spacing-xl) 20px}.auth-branding{margin-bottom:var(--spacing-xl)}.auth-form{gap:20px}}.admin-layout{display:grid;grid-template-areas:"sidebar main";grid-template-columns:280px 1fr;grid-template-rows:1fr;min-height:100vh;background-color:var(--color-background)}.admin-sidebar{grid-area:sidebar;background-color:var(--color-surface);border-right:1px solid var(--color-divider);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;transition:all var(--transition-base);z-index:1010}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--color-divider);min-height:72px}.logo{display:flex;align-items:center;gap:var(--spacing-md)}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-on-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-subtitle);flex-shrink:0}.logo-text{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;transition:opacity var(--transition-base)}.admin-sidebar.collapsed .logo-text{opacity:0;width:0;overflow:hidden}.collapse-btn{background:none;border:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-base);flex-shrink:0}.collapse-btn:hover{background-color:var(--palette-neutral-100);color:var(--color-text-primary)}.admin-sidebar.collapsed .collapse-btn{margin-left:0}.sidebar-nav{flex:1;padding:var(--spacing-md) 0;overflow-y:auto}.nav-section{margin-bottom:var(--spacing-lg)}.nav-section-title{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-text-hint);text-transform:uppercase;letter-spacing:.5px;transition:opacity var(--transition-base)}.admin-sidebar.collapsed .nav-section-title{opacity:0;height:var(--spacing-sm);padding:0}.nav-list{list-style:none;padding:0;margin:0}.nav-item{margin:2px var(--spacing-sm)}.ds-nav-link{display:flex;align-items:center;gap:var(--spacing-md);padding:12px var(--spacing-md);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-fast);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);position:relative}.ds-nav-link:hover{background-color:var(--palette-neutral-100);color:var(--color-text-primary)}.ds-nav-link.active{background-color:#1976d21a;color:var(--color-primary)}.ds-nav-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background-color:var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.ds-nav-link.active .material-symbols-outlined{font-variation-settings:"FILL" 1}.nav-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px}.nav-label{white-space:nowrap;transition:opacity var(--transition-base)}.admin-sidebar.collapsed .nav-label{opacity:0;width:0;overflow:hidden}.admin-sidebar.collapsed .ds-nav-link{justify-content:center;padding:12px}.admin-content{width:100%;min-width:0}.job-role-list-page{animation:fadeIn var(--transition-base)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.job-role-layout{display:grid;grid-template-columns:1fr 320px;gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.job-role-main{min-width:0}.job-role-sidebar{display:flex;flex-direction:column;gap:var(--spacing-lg)}@media (max-width: 1024px){.job-role-layout{grid-template-columns:1fr}.job-role-sidebar{order:2}}.form-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-lg);overflow:hidden}.form-card-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);border-bottom:1px solid var(--color-divider);background-color:var(--palette-neutral-50)}.form-card-header svg{color:var(--color-primary);flex-shrink:0}.form-card-title{font-size:var(--font-size-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-card-body{padding:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.form-label .required{color:var(--color-error);margin-left:2px}.form-input,.form-textarea,.form-select{width:100%;padding:10px var(--spacing-md);font-family:var(--font-family-sans);font-size:var(--font-size-body);color:var(--color-text-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base);outline:none}.form-input:hover,.form-textarea:hover,.form-select:hover{border-color:var(--color-text-secondary)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1976d21a}.form-textarea{min-height:120px;resize:vertical;font-family:var(--font-family-sans)}.form-hint{display:block;font-size:var(--font-size-label);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.form-warning{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:#ffa7261a;border-radius:var(--radius-md);color:var(--color-warning-dark);font-size:var(--font-size-label);margin-top:var(--spacing-sm)}.form-warning svg{flex-shrink:0;margin-top:1px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.form-note{font-size:var(--font-size-body);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.skills-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.skill-item{background-color:var(--palette-neutral-50);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);transition:all var(--transition-fast)}.skill-item:hover{border-color:var(--color-primary);background-color:var(--color-surface)}.skill-item-content{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.skill-item-header{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.skill-item-header svg{color:var(--color-success);flex-shrink:0}.skill-name{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.skill-item-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.skill-level-select{padding:6px var(--spacing-sm);font-size:var(--font-size-label);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.skill-level-select:hover{border-color:var(--color-primary)}.skill-level-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #1976d21a}.btn-remove-skill{background:none;border:none;padding:var(--spacing-xs);color:var(--color-text-hint);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.btn-remove-skill:hover{background-color:#ef53501a;color:var(--color-error)}.skills-empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.skills-empty svg{color:var(--color-text-hint);margin-bottom:var(--spacing-md)}.summary-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.summary-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);background-color:var(--palette-neutral-50);border-bottom:1px solid var(--color-divider)}.summary-header svg{color:var(--color-primary);flex-shrink:0}.summary-title{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.summary-body{padding:var(--spacing-lg)}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-divider)}.summary-item:last-child{border-bottom:none}.summary-label{font-size:var(--font-size-label);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.summary-value{font-size:var(--font-size-body);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.summary-count{font-size:var(--font-size-title);color:var(--color-primary);font-weight:var(--font-weight-bold)}.summary-badge{padding:4px var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);text-transform:capitalize}.badge-success{background-color:#4caf501a;color:var(--color-success-dark)}.badge-warning{background-color:#ffa7261a;color:var(--color-warning-dark)}.badge-inactive{background-color:#9e9e9e1a;color:var(--color-text-secondary)}.summary-stat{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0}.stat-label{font-size:var(--font-size-body);color:var(--color-text-primary);text-transform:capitalize}.stat-value{font-size:var(--font-size-subtitle);color:var(--color-primary);font-weight:var(--font-weight-bold)}.help-card{background:linear-gradient(135deg,#1976d20d,#42a5f50d);border:1px solid rgba(25,118,210,.1);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.help-icon{width:40px;height:40px;background-color:#1976d21a;border-radius:var(--radius-round);display:flex;align-items:center;justify-content:center;color:var(--color-primary);margin-bottom:var(--spacing-md)}.help-title{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.help-list{list-style:none;padding:0;margin:0}.help-list li{font-size:var(--font-size-body);color:var(--color-text-secondary);padding:var(--spacing-xs) 0;padding-left:var(--spacing-lg);position:relative}.help-list li:before{content:"•";position:absolute;left:0;color:var(--color-primary);font-weight:var(--font-weight-bold)}.help-text{font-size:var(--font-size-body);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--spacing-lg)}.loading-spinner{font-size:var(--font-size-body);color:var(--color-text-secondary)}.loading-spinner:before{content:"";display:block;width:48px;height:48px;margin:0 auto var(--spacing-md);border:4px solid var(--palette-neutral-200);border-top-color:var(--color-primary);border-radius:50%;animation:ds-spin .8s linear infinite}.taxonomy-graph-container{width:100%;height:800px;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background-color:var(--color-surface)}.taxonomy-node{width:auto!important}.taxonomy-node-content{background:var(--color-primary);color:var(--color-on-primary);border:2px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);min-width:120px;box-shadow:var(--shadow-sm);transition:all var(--transition-base);position:relative;cursor:grab}.taxonomy-node-content:active{cursor:grabbing}.taxonomy-node-label{-webkit-user-select:none;user-select:none;pointer-events:none}.taxonomy-node-content:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.taxonomy-node.selected .taxonomy-node-content{border-width:3px;box-shadow:0 0 0 4px #0003,var(--shadow-lg);transform:scale(1.05);filter:brightness(1.1)}.taxonomy-node-isolated .taxonomy-node-content{border-style:dashed;opacity:.85}.taxonomy-node-isolated .taxonomy-node-content:hover{opacity:1}.taxonomy-node-leaf .taxonomy-node-content{transform:scale(1.3);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);min-width:150px;padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-md)}.taxonomy-node-leaf .taxonomy-node-content:hover{transform:scale(1.35) translateY(-2px);box-shadow:var(--shadow-lg)}.taxonomy-node-leaf.selected .taxonomy-node-content{transform:scale(1.4)}.taxonomy-edge{stroke:var(--palette-neutral-400)!important;stroke-width:2px!important;cursor:pointer!important}.taxonomy-edge .react-flow__edge-path{stroke:var(--palette-neutral-400)!important;stroke-width:2px!important}.taxonomy-edge marker{fill:var(--palette-neutral-400)!important}.taxonomy-edge:hover .react-flow__edge-path{stroke:var(--palette-primary-600)!important;stroke-width:3px!important}.taxonomy-edge:hover marker{fill:var(--palette-primary-600)!important}.taxonomy-edge.selected .react-flow__edge-path{stroke:var(--palette-primary-600)!important;stroke-width:3px!important}.taxonomy-edge.selected marker{fill:var(--palette-primary-600)!important}.taxonomy-edge-highlighted .react-flow__edge-path{stroke:#ef4444!important;stroke-width:4px!important;animation:edge-pulse 1.5s ease-in-out infinite}.taxonomy-edge-highlighted marker{fill:#ef4444!important}@keyframes edge-pulse{0%,to{opacity:1}50%{opacity:.6}}.taxonomy-minimap{background-color:var(--color-surface)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-sm)!important;box-shadow:var(--shadow-md)!important;z-index:4!important}.taxonomy-minimap svg{display:block!important}.taxonomy-minimap .react-flow__minimap-mask{fill:#0000001a!important}.taxonomy-minimap .react-flow__minimap-node{fill:var(--color-primary)!important;stroke:var(--color-border)!important;stroke-width:1px!important}.react-flow__minimap{width:200px!important;height:150px!important;position:absolute!important;bottom:20px!important;right:20px!important;z-index:5!important}.taxonomy-graph-container .react-flow__minimap{opacity:1!important;visibility:visible!important;pointer-events:auto!important}.taxonomy-stats-panel{background:var(--color-surface)!important;padding:var(--spacing-sm)!important;border-radius:var(--radius-md)!important;border:1px solid var(--color-border)!important;box-shadow:var(--shadow-sm)!important}.taxonomy-stats-panel-content{font-size:var(--font-size-label);color:var(--color-text-primary)}.taxonomy-stats-panel-item{margin-bottom:var(--spacing-xs)}.taxonomy-stats-panel-item:last-child{margin-bottom:0}.graph-controls-card{margin-bottom:var(--spacing-xl)}.graph-controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.graph-control-item{padding:var(--spacing-lg);background-color:var(--palette-neutral-50);border-radius:var(--radius-md);border:1px solid var(--color-divider);transition:all var(--transition-base)}.graph-control-item:hover{background-color:var(--color-surface);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.graph-control-item .ds-label{display:block;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.graph-control-item p{margin:0;line-height:var(--line-height-relaxed)}.graph-selection-info{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--palette-blue-50);border-radius:var(--radius-md);border:1px solid var(--palette-blue-200)}.graph-selection-info svg{flex-shrink:0}.graph-selection-actions{margin-left:auto;display:flex;align-items:center;gap:var(--spacing-sm)}.graph-help-card{margin-top:var(--spacing-xl)}.graph-help-content{display:flex;align-items:flex-start;gap:var(--spacing-lg)}.graph-help-content svg{flex-shrink:0;margin-top:var(--spacing-xs)}.graph-help-content .ds-label{display:block;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.graph-help-text{margin:0;line-height:var(--line-height-relaxed)}.taxonomy-graph-fullscreen-overlay{position:fixed;inset:0;background-color:var(--color-background);z-index:10000;display:flex;flex-direction:column;animation:fadeIn .2s ease-out}.taxonomy-graph-fullscreen-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);background-color:var(--color-surface);border-bottom:1px solid var(--color-divider);box-shadow:var(--shadow-sm);flex-shrink:0}.taxonomy-graph-fullscreen-title{display:flex;flex-direction:column;gap:var(--spacing-xs)}.taxonomy-graph-fullscreen-title .ds-headline{margin:0;font-size:var(--font-size-title);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.taxonomy-graph-fullscreen-stats{display:flex;align-items:center;gap:var(--spacing-md)}.taxonomy-graph-fullscreen-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.taxonomy-graph-fullscreen-container{flex:1;width:100%;overflow:hidden;background-color:var(--color-surface)}.taxonomy-fullscreen-selection{background:var(--color-surface);padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-md);min-width:250px}.taxonomy-fullscreen-selection .ds-button-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.taxonomy-proposal-descriptions{display:flex;flex-direction:column;gap:var(--spacing-xl);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.taxonomy-proposal-description-item{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg);background-color:var(--palette-neutral-50);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.taxonomy-proposal-description-item:hover{border-color:var(--palette-neutral-300);box-shadow:var(--shadow-sm)}.taxonomy-proposal-description-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.taxonomy-proposal-description-header .ds-form-label{margin-bottom:0}.taxonomy-proposal-input-descriptions{display:flex;flex-direction:column;gap:var(--spacing-lg)}.taxonomy-proposal-input-description{padding:var(--spacing-lg);background-color:var(--palette-neutral-50);border:1px solid var(--color-border);border-radius:var(--radius-md)}.taxonomy-proposal-input-description-header{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px}.taxonomy-proposal-input-description-content{font-size:var(--font-size-body);line-height:var(--line-height-relaxed);color:var(--color-text-primary);white-space:pre-wrap;word-wrap:break-word}.expertise-prompt-display{background-color:var(--color-background);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--spacing-md);max-height:500px;overflow-y:auto}.ds-code-block{font-family:Monaco,Menlo,Courier New,monospace;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-primary);white-space:pre-wrap;word-wrap:break-word;margin:0;padding:0}.ds-filters-group .ds-select{min-width:150px;flex:1}.ds-filters-group .ds-input{min-width:180px;flex:1}.ds-search-section .ds-input{min-width:250px;max-width:350px}.ds-badge-group{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.ds-expanded-row{background-color:var(--palette-neutral-50);padding:var(--spacing-xl)}.ds-expanded-row .ds-card{margin-bottom:0}.ds-cot-code-block{background-color:var(--color-background);padding:var(--spacing-lg);border-radius:var(--radius-md);overflow:auto;max-height:400px}.ds-alert-spacing-top{margin-top:var(--spacing-md);margin-bottom:0}.ds-comment-cell{max-width:400px}.ds-pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding:var(--spacing-lg) 0}.ds-modal-message-box{padding:var(--spacing-md);background-color:var(--palette-neutral-50);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.ds-modal-message-label{margin-bottom:var(--spacing-xs)}.ds-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-lg);animation:fadeIn .2s ease-out;overflow-y:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ds-modal{background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:0 24px 48px #0003;max-width:560px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.ds-modal-header{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-xl);border-bottom:1px solid var(--color-divider);position:relative;flex-shrink:0}.ds-modal-icon{flex-shrink:0;width:48px;height:48px;padding:var(--spacing-sm);border-radius:var(--radius-lg)}.ds-modal-icon-danger{background-color:#fee;color:var(--color-error)}.ds-modal-icon-warning{background-color:#fff4e5;color:var(--color-warning)}.ds-modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-tight)}.ds-modal-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:var(--spacing-xs) 0 0 0;line-height:var(--line-height-normal)}.ds-modal-close{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);background:none;border:none;padding:var(--spacing-sm);cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.ds-modal-close:hover:not(:disabled){background-color:var(--color-background);color:var(--color-text-primary)}.ds-modal-close:disabled{opacity:.5;cursor:not-allowed}.ds-modal-form{display:flex;flex-direction:column;flex:1;min-height:0}.ds-modal-body{padding:var(--spacing-xl);overflow-y:auto;flex:1;min-height:0}.ds-modal-body .ds-body{margin-bottom:var(--spacing-lg);color:var(--color-text-primary)}.ds-modal-body .ds-alert{margin-bottom:var(--spacing-lg)}.ds-modal-body .ds-alert:last-child{margin-bottom:0}.ds-modal-item-display{background-color:var(--color-background);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-top:var(--spacing-lg)}.ds-modal-item-display .ds-detail-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs)}.ds-modal-item-display .ds-detail-value{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.ds-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-xl);border-top:1px solid var(--color-divider);background-color:var(--color-background);flex-shrink:0}@media (max-width: 768px){.ds-modal-overlay{padding:var(--spacing-sm);align-items:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch}.ds-modal{max-width:100%;max-height:none;min-height:min-content;margin:auto 0}.ds-modal-header,.ds-modal-footer{padding:var(--spacing-md);flex-shrink:0}.ds-modal-body{padding:var(--spacing-md);overflow-y:visible;max-height:none}.ds-modal-footer{flex-direction:column-reverse}.ds-modal-footer .ds-btn{width:100%}}.student-selector-list{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:500px;overflow-y:auto;padding:var(--spacing-xs);border:1px solid var(--color-divider);border-radius:var(--radius-lg);background-color:var(--color-surface)}.student-selector-item{position:relative;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:2px solid var(--color-divider);border-radius:var(--radius-md);background-color:var(--color-surface);cursor:pointer;transition:all var(--transition-fast)}.student-selector-item:hover{border-color:var(--color-primary);background-color:#1976d20a;box-shadow:0 2px 4px #0000000d}.student-selector-item.selected{border-color:var(--color-primary);background-color:#1976d214}.student-selector-radio{position:absolute;opacity:0;pointer-events:none}.student-selector-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.student-selector-header{display:flex;align-items:center;gap:var(--spacing-md)}.student-selector-avatar{width:40px;height:40px;border-radius:var(--radius-round);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));display:flex;align-items:center;justify-content:center;color:var(--color-on-primary);flex-shrink:0}.student-selector-info{flex:1;min-width:0}.student-selector-name{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.4}.student-selector-email{font-size:var(--font-size-caption);color:var(--color-text-secondary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-selector-role{display:flex;align-items:center;gap:var(--spacing-xs);padding:6px var(--spacing-sm);background-color:var(--color-background);border-radius:var(--radius-sm);font-size:var(--font-size-caption);color:var(--color-text-secondary);margin-left:52px}.student-selector-role svg{flex-shrink:0;opacity:.7}.student-selector-check{width:24px;height:24px;border-radius:var(--radius-round);border:2px solid var(--color-divider);display:flex;align-items:center;justify-content:center;color:transparent;background-color:var(--color-surface);transition:all var(--transition-fast);flex-shrink:0}.student-selector-item.selected .student-selector-check{border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-on-primary)}.student-selector-item:hover .student-selector-check{border-color:var(--color-primary)}.ds-empty-state-small{text-align:center;padding:var(--spacing-xl) var(--spacing-md);color:var(--color-text-secondary)}.ds-empty-state-small svg{opacity:.3;margin-bottom:var(--spacing-md)}.ds-empty-state-small p{margin:0}@media (max-width: 768px){.student-selector-item{flex-direction:column;align-items:flex-start}.student-selector-role{margin-left:0}.student-selector-check{position:absolute;top:var(--spacing-md);right:var(--spacing-md)}}.ds-modal-xl{max-width:1000px}.ds-modal-lg{max-width:800px}.ds-timeline{display:flex;flex-direction:column;gap:var(--spacing-xl)}.ds-timeline-item{display:grid;grid-template-columns:40px 1fr;gap:var(--spacing-lg)}.ds-timeline-marker{display:flex;flex-direction:column;align-items:center}.ds-timeline-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--color-primary);color:var(--color-on-primary);border-radius:50%;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);flex-shrink:0}.ds-timeline-item:not(:last-child) .ds-timeline-marker:after{content:"";width:2px;flex:1;background-color:var(--color-divider);margin-top:var(--spacing-sm)}.ds-timeline-content{display:flex;flex-direction:column;gap:var(--spacing-md);padding-bottom:var(--spacing-md)}.ds-message{padding:var(--spacing-md);border-radius:var(--radius-md);border-left:4px solid}.ds-message-question{background-color:#1976d214;border-left-color:var(--color-primary)}.ds-message-answer{background-color:#4caf5014;border-left-color:#4caf50}.ds-message-header{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.ds-message-role{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.ds-message-text{font-size:var(--font-size-body);color:var(--color-text-primary);line-height:1.6;margin:0;white-space:pre-wrap}.ds-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.ds-info-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ds-info-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.ds-timeline-item{grid-template-columns:32px 1fr;gap:var(--spacing-md)}.ds-info-grid{grid-template-columns:1fr}}.admin-page-container{padding:var(--spacing-2xl)}.admin-page-header{margin-bottom:var(--spacing-2xl)}.admin-breadcrumb{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);font-size:var(--font-size-caption)}.admin-breadcrumb-link{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.admin-breadcrumb-link:hover{color:var(--palette-blue-700);text-decoration:underline}.admin-breadcrumb-separator{font-size:16px;color:var(--color-text-hint)}.admin-breadcrumb-current{color:var(--color-text-secondary)}.admin-page-title-section{margin-bottom:var(--spacing-lg)}.admin-page-title{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.admin-page-subtitle{font-size:var(--font-size-body);color:var(--color-text-secondary);margin:0}.admin-page-actions{display:flex;align-items:center;gap:var(--spacing-md)}.admin-interaction-layout{display:grid;grid-template-columns:1fr 360px;gap:var(--spacing-xl)}.admin-interaction-main,.admin-interaction-sidebar{display:flex;flex-direction:column;gap:var(--spacing-xl);min-width:0}.admin-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--color-divider)}.admin-card-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-divider)}.admin-card-header-content{display:flex;align-items:center;gap:var(--spacing-md)}.admin-card-icon{color:var(--color-primary);font-size:24px}.admin-card-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.admin-card-body{padding:var(--spacing-xl);min-width:0;overflow-wrap:break-word}.admin-card-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6}.admin-card-actions{margin-top:var(--spacing-lg);display:flex;justify-content:flex-end;gap:var(--spacing-md)}.admin-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.admin-info-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.admin-info-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.admin-info-label{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.admin-info-value{font-size:var(--font-size-body);color:var(--color-text-primary);word-break:break-word}.admin-link{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.admin-link:hover{color:var(--palette-blue-700);text-decoration:underline}.admin-chip{display:inline-flex;align-items:center;padding:4px 12px;background:var(--palette-neutral-100);color:var(--color-text-primary);border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.admin-chip-group{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.admin-status-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold)}.admin-status-chip .material-symbols-outlined{font-size:16px}.admin-status-chip.status-error{background:var(--palette-red-50);color:var(--palette-red-700)}.admin-status-chip.status-warning{background:var(--palette-amber-50);color:var(--palette-amber-700)}.admin-status-chip.status-success{background:var(--palette-green-50);color:var(--palette-green-700)}.admin-status-chip.status-inactive{background:var(--palette-neutral-100);color:var(--color-text-secondary)}.admin-message-bubble{padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--color-divider);margin-bottom:var(--spacing-lg)}.admin-message-bubble:last-child{margin-bottom:0}.admin-message-bubble.student-message{background:var(--palette-blue-50);border-color:var(--palette-blue-200)}.admin-message-bubble.ai-message{background:var(--palette-neutral-50);border-color:var(--color-divider)}.admin-message-bubble.ai-message.flagged{border-color:var(--palette-amber-300);background:var(--palette-amber-50)}.admin-message-bubble.sme-message{background:var(--palette-green-50);border-color:var(--palette-green-200)}.admin-message-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.admin-message-header .material-symbols-outlined{font-size:20px;color:var(--color-text-secondary)}.admin-message-sender{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;flex:1}.admin-message-content{color:var(--color-text-primary);line-height:1.6}.admin-alert{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px solid;margin-bottom:var(--spacing-lg)}.admin-alert .material-symbols-outlined{font-size:24px;flex-shrink:0}.admin-alert.alert-warning{background:var(--palette-amber-50);border-color:var(--palette-amber-300);color:var(--palette-amber-900)}.admin-alert strong{display:block;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-semibold)}.admin-alert p{margin:0}.admin-textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-family-sans);font-size:var(--font-size-body);color:var(--color-text-primary);resize:vertical;transition:border-color var(--transition-fast)}.admin-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1976d21a}.admin-textarea::placeholder{color:var(--color-text-hint)}.admin-code-block{background:var(--palette-neutral-900);border-radius:var(--radius-md);padding:var(--spacing-lg);overflow-x:auto}.admin-code-text{font-family:Courier New,monospace;font-size:var(--font-size-caption);color:var(--palette-neutral-100);margin:0;white-space:pre-wrap;word-break:break-word}.admin-source-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.admin-source-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--palette-neutral-50);border-radius:var(--radius-md)}.admin-source-title{flex:1;font-size:var(--font-size-body);color:var(--color-text-primary)}.admin-action-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.admin-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--spacing-lg)}.admin-loading-spinner{width:48px;height:48px;border:4px solid var(--palette-neutral-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.admin-loading-text{font-size:var(--font-size-body);color:var(--color-text-secondary)}.admin-error-container{display:flex;align-items:center;justify-content:center;min-height:400px;padding:var(--spacing-2xl)}.admin-error-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-2xl);text-align:center;max-width:480px}.admin-error-icon{font-size:64px;color:var(--palette-red-500);margin-bottom:var(--spacing-lg)}.admin-error-title{font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.admin-error-message{font-size:var(--font-size-body);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0}@media (max-width: 1280px){.admin-interaction-layout{grid-template-columns:1fr 300px}}@media (max-width: 1024px){.admin-interaction-layout{grid-template-columns:1fr}.admin-interaction-sidebar{order:-1}.admin-info-grid{grid-template-columns:1fr}}@media (max-width: 768px){.admin-page-container{padding:var(--spacing-lg)}.admin-page-title{font-size:var(--font-size-h2)}.admin-page-actions{flex-direction:column;align-items:stretch}.admin-card-body{padding:var(--spacing-lg)}}.ds-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--spacing-lg)}.ds-card-interactive{cursor:default;transition:all var(--transition-base);border:1px solid var(--color-divider)}.ds-card-interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.ds-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.ds-card-header-main{display:flex;align-items:center;gap:var(--spacing-md);flex:1;min-width:0}.ds-card-header-text{flex:1;min-width:0}.ds-avatar{width:48px;height:48px;border-radius:var(--radius-round);background-color:var(--palette-neutral-100);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);flex-shrink:0}.ds-card-title{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-card-subtitle{font-size:var(--font-size-caption);color:var(--color-text-secondary);margin:var(--spacing-2xs) 0 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-card-content{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.ds-card-footer{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-divider)}.ds-info-row{display:flex;gap:var(--spacing-md)}.ds-info-item{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.ds-info-icon{color:var(--color-text-secondary);flex-shrink:0}.ds-label-text{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-helper-text{font-size:var(--font-size-caption);color:var(--color-text-secondary);margin-top:var(--spacing-2xs)}.ds-progress-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.ds-progress-header{display:flex;align-items:center;justify-content:space-between}.ds-label{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.ds-progress-percentage{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.ds-progress-bar{height:8px;background-color:var(--palette-neutral-200);border-radius:var(--radius-round);overflow:hidden}.ds-progress-fill{height:100%;border-radius:var(--radius-round);transition:width var(--transition-base)}.ds-module-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--palette-neutral-50);border-radius:var(--radius-md)}.ds-module-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.ds-module-stat-value{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1}.ds-module-stat-label{font-size:var(--font-size-caption);color:var(--color-text-secondary);margin-top:var(--spacing-2xs)}.ds-search-box{position:relative;flex:1;max-width:400px}.ds-search-icon{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);color:var(--color-text-secondary);pointer-events:none}.ds-search-input{width:100%;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-sm) calc(var(--spacing-md) * 3);border:1px solid var(--color-divider);border-radius:var(--radius-md);font-size:var(--font-size-body);color:var(--color-text-primary);background-color:var(--color-surface);transition:all var(--transition-base)}.ds-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.ds-search-clear{position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%);background:none;border:none;padding:var(--spacing-xs);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.ds-search-clear:hover{background-color:var(--palette-neutral-100);color:var(--color-text-primary)}.ds-results-info{display:flex;align-items:center;gap:var(--spacing-md)}.ds-results-count{font-size:var(--font-size-body);color:var(--color-text-secondary)}.ds-alert-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-caption);gap:var(--spacing-xs)}.ds-icon-spin{animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1200px){.ds-cards-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (max-width: 768px){.ds-cards-grid{grid-template-columns:1fr}.ds-search-box{max-width:none}.ds-filters-group{flex-direction:column;align-items:stretch}.ds-card-footer{flex-direction:column}.ds-card-footer .ds-btn{width:100%}}.markdown-content h1:first-child{margin-top:0}.markdown-content h4{font-size:18px;font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);margin-top:var(--spacing-md)}.markdown-content code{padding:2px 6px;background-color:var(--palette-neutral-100);border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em;color:var(--color-primary-dark)}.markdown-content a:hover{color:var(--color-primary-dark);text-decoration:underline}.markdown-content strong{font-weight:var(--font-weight-semibold)}.markdown-content em{font-style:italic}.markdown-content hr{border:none;border-top:1px solid var(--color-divider);margin:var(--spacing-xl) 0}.markdown-content table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-md)}.student-cards-grid{display:grid;gap:var(--spacing-md)}.student-card{padding:0}.student-card-header{padding:var(--spacing-lg);cursor:pointer;display:flex;justify-content:space-between;align-items:center}.student-card-header-expanded{border-bottom:1px solid var(--color-divider)}.student-card-info{flex:1}.student-card-title-row{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xs)}.student-card-title{margin:0}.student-card-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.student-card-chevron{transition:transform .2s}.student-card-chevron-expanded{transform:rotate(180deg)}.student-card-content{padding:0}.student-card-empty{padding:var(--spacing-xl);text-align:center}.table-no-margin{margin:0;border:none}.spinner-sm{width:20px;height:20px}.ds-modal-large{max-width:1000px}.ds-loading-center{text-align:center;padding:var(--spacing-3xl)}.ds-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.ds-divider{height:1px;background-color:var(--color-divider);margin:var(--spacing-lg) 0}.ds-code-block{background-color:var(--palette-neutral-100);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);overflow-x:auto;font-family:var(--font-family-mono);font-size:var(--font-size-body)}.activity-header-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.activity-meta-label{margin-bottom:var(--spacing-xs)}.activity-content-section{margin-bottom:var(--spacing-lg)}.activity-scaffolding-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.interactions-list{display:grid;gap:var(--spacing-md)}.interaction-card{margin-bottom:0;border:1px solid var(--color-divider);padding:var(--spacing-lg)}.interaction-header{margin-bottom:var(--spacing-sm)}.response-box{background-color:var(--palette-neutral-50);border:1px solid var(--palette-neutral-200);border-radius:var(--radius-md);padding:var(--spacing-md);margin-top:var(--spacing-sm)}.answer-box{background-color:var(--palette-blue-50);border:1px solid var(--palette-blue-200);border-radius:var(--radius-md);padding:var(--spacing-md);margin-top:var(--spacing-sm)}.modal-section-spacing{margin-bottom:var(--spacing-lg)}:root{--color-primary-container: rgba(25, 118, 210, .12);--palette-success-500: #4CAF50;--palette-pink-700: #C2185B;--radius-full: 9999px;--font-size-page-title: 36px;--font-size-section-title: 18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px var(--spacing-lg);font-family:var(--font-family-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--palette-neutral-50);border-color:var(--color-primary);color:var(--color-primary)}.btn-on-primary{background-color:#fff3;color:var(--color-on-primary);border:1px solid rgba(255,255,255,.3)}.btn-on-primary:hover:not(:disabled){background-color:#ffffff4d}.btn-assess-skills{background:linear-gradient(135deg,var(--color-primary),var(--palette-blue-700));color:#fff;border:none;box-shadow:0 4px 12px #1976d24d;font-weight:600;transition:all .2s ease;animation:pulse-soft 2s infinite}.btn-assess-skills:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #1976d266;animation:none}@keyframes pulse-soft{0%{box-shadow:0 0 #1976d266}70%{box-shadow:0 0 0 10px #1976d200}to{box-shadow:0 0 #1976d200}}.btn-full{width:100%}.student-dashboard{padding:var(--spacing-lg)}.student-skeleton-mt-sm{margin-top:8px}.student-skeleton-mt-md{margin-top:12px}.student-skeleton-row{display:flex;gap:var(--spacing-md);margin-top:16px}.student-skeleton-col{flex:1}.student-dashboard-card--padded{padding:var(--spacing-xl)}.student-dashboard-card--spaced{margin-top:var(--spacing-lg)}.ds-alert-content{flex:1}.student-dashboard-header{margin-bottom:var(--spacing-xl)}.student-dashboard-welcome{font-size:var(--font-size-page-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.student-dashboard-subtitle{font-size:var(--font-size-body);color:var(--color-text-secondary)}.student-dashboard>.student-current-module{margin-bottom:var(--spacing-xl)}.student-dashboard-grid{display:grid;grid-template-columns:1fr 320px;gap:var(--spacing-lg);align-items:start}.student-dashboard-main{min-width:0}.student-dashboard-sidebar{position:sticky;top:88px}.student-progress-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl)}.student-progress-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl)}.student-progress-title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.student-progress-subtitle{font-size:var(--font-size-label);color:var(--color-text-secondary)}.student-progress-percentage{font-size:32px;font-weight:var(--font-weight-semibold);color:var(--color-primary)}.student-progress-visualization{display:flex;align-items:center;gap:var(--spacing-2xl);margin-bottom:var(--spacing-xl)}.student-progress-circle{position:relative;width:140px;height:140px}.student-progress-circle--on-primary{--palette-neutral-200: rgba(255, 255, 255, .3);--color-primary: rgba(255, 255, 255, .95);--color-text-primary: #fff;--color-text-secondary: rgba(255, 255, 255, .7)}.student-progress-completed{font-size:1.8rem;font-weight:700}.student-progress-separator{font-size:1rem;color:#ffffffb3;margin:0 4px}.student-progress-total{font-size:1.2rem;font-weight:500;color:#ffffffe6}.student-progress-circle-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:28px;font-weight:var(--font-weight-semibold);color:var(--color-primary)}.student-progress-stats{flex:1;display:flex;flex-direction:column;gap:var(--spacing-md)}.student-progress-stat{display:flex;justify-content:space-between;align-items:center}.student-progress-stat-label{font-size:var(--font-size-body);color:var(--color-text-secondary)}.student-progress-stat-value{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.student-current-module{background:linear-gradient(135deg,#1976d2,#1565c0);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-2xl);color:var(--color-on-primary);overflow:hidden}.student-current-module-content{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-2xl);margin-bottom:var(--spacing-lg);overflow:hidden}.student-current-module-info{flex:1}.student-current-module-label{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);opacity:.9;margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px}.student-current-module-title{font-size:var(--font-size-title);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-md)}.student-current-module-job-role{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);font-size:var(--font-size-body);opacity:.85;margin-bottom:var(--spacing-lg)}.student-current-module-job-role .material-symbols-outlined{font-size:20px;opacity:.8}.student-current-module-role-row{display:flex;align-items:center;gap:var(--spacing-xs)}.student-current-module-estimate{display:flex;align-items:flex-start;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.student-current-module-estimate .material-symbols-outlined{color:#ffffffe6}.student-current-module-estimate-text{display:flex;flex-direction:column}.student-current-module-estimate-value{font-weight:500;color:#fff}.student-current-module-estimate-notice{font-size:var(--font-size-caption);color:#ffffffbf;margin-top:2px}.student-current-module-progress{display:flex;align-items:center;gap:var(--spacing-lg);flex-shrink:0}.student-current-module-progress .student-progress-circle-text{color:#fffffff2}.student-current-module-stats{display:flex;flex-direction:column;gap:var(--spacing-md)}.student-current-module-stat{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.student-current-module-stat-value{font-size:32px;font-weight:var(--font-weight-bold);color:#fffffff2;line-height:1}.student-current-module-stat-label{font-size:var(--font-size-label);color:#fffc;text-transform:uppercase;letter-spacing:.5px}.student-current-module-skills{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.student-current-module-skill{padding:4px var(--spacing-sm);background-color:#fff3;border-radius:var(--radius-sm);font-size:var(--font-size-label);font-weight:var(--font-weight-medium)}.student-skills-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl)}.student-skills-header{margin-bottom:var(--spacing-lg)}.student-skills-title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.student-skills-subtitle{font-size:var(--font-size-label);color:var(--color-text-secondary)}.student-skills-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.student-skill-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--palette-neutral-50);border-radius:var(--radius-md);transition:all .2s ease}.student-skill-item:hover{background-color:var(--palette-neutral-100);transform:translate(4px)}.student-skill-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary-container);border-radius:var(--radius-sm);color:var(--color-primary);font-size:20px;flex-shrink:0}.student-skill-content{flex:1}.student-skill-name{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:2px}.student-skill-gap{font-size:var(--font-size-label);color:var(--color-text-secondary)}.student-skill-profile-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.student-skill-profile-header{margin-bottom:var(--spacing-lg)}.student-skill-profile-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-section-title);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.student-skill-profile-title .material-symbols-outlined{color:var(--color-primary);font-size:24px}.student-skill-profile-subtitle{font-size:var(--font-size-label);color:var(--color-text-secondary)}.student-skill-profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.student-skill-profile-item{background-color:var(--palette-neutral-50);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);transition:all var(--transition-base)}.student-skill-profile-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.student-skill-profile-item-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.student-skill-profile-item-header .material-symbols-outlined{color:var(--color-primary);font-size:20px}.student-skill-profile-item-name{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.student-skill-profile-level-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:6px 14px;background-color:var(--palette-neutral-100);border-radius:var(--radius-full);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.student-skill-profile-level-badge.level-novice{background-color:#9c27b01f;color:#9c27b0}.student-skill-profile-level-badge.level-advanced{background-color:#03a9f41f;color:#03a9f4}.student-skill-profile-level-badge.level-competent{background-color:#4caf501f;color:#4caf50}.student-skill-profile-level-badge.level-proficient{background-color:#ff98001f;color:#ff9800}.student-skill-profile-level-badge.level-expert{background-color:#e91e631f;color:#e91e63}.student-skill-profile-item-date{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.student-skill-gaps-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.student-skill-gaps-header{margin-bottom:var(--spacing-lg)}.student-skill-gaps-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-section-title);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.student-skill-gaps-title .material-symbols-outlined{color:var(--color-primary);font-size:24px}.student-skill-gaps-subtitle{font-size:var(--font-size-label);color:var(--color-text-secondary)}.student-skill-gaps-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.student-skill-gap-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);background:linear-gradient(135deg,#1976d20d,#1976d205);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);transition:all var(--transition-base)}.student-skill-gap-item:hover{background:linear-gradient(135deg,#1976d214,#1976d208);transform:translate(4px)}.student-skill-gap-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);border-radius:var(--radius-sm);color:var(--color-on-primary);flex-shrink:0}.student-skill-gap-content{flex:1}.student-skill-gap-name{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.student-skill-gap-description{font-size:var(--font-size-label);color:var(--color-text-secondary);line-height:1.5;margin:0 0 var(--spacing-md) 0}.student-skill-gap-levels{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-label)}.student-skill-gap-level-badge{display:flex;align-items:center;gap:var(--spacing-xs);padding:6px 12px;border-radius:var(--radius-sm);font-weight:var(--font-weight-medium);text-transform:capitalize}.student-skill-gap-level-badge.current{background-color:#61616114;color:var(--color-text-secondary)}.student-skill-gap-level-badge.target{background-color:#1976d214;color:var(--color-primary)}.student-skill-gap-level-label{font-weight:var(--font-weight-regular);opacity:.8}.student-skill-gap-levels .material-symbols-outlined{color:var(--color-text-secondary);font-size:18px}.student-skill-gap-last-assessed{font-size:var(--font-size-caption);color:var(--color-text-secondary);margin:var(--spacing-xs) 0 0}.student-skill-gaps-progress{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background-color:var(--palette-neutral-50);border-radius:var(--radius-md)}.student-skill-gaps-progress-labels{display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.student-skill-gaps-progress-label{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background:none;border:none;padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);font-family:var(--font-family-sans)}.student-skill-gaps-progress-label:hover{background-color:var(--palette-neutral-100);color:var(--color-primary)}.student-skill-gaps-progress-label.active{background-color:var(--color-primary-container);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.student-skill-gaps-progress-bar{display:flex;width:100%;height:48px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.student-skill-gaps-progress-segment{display:flex;align-items:center;justify-content:center;border:none;transition:all var(--transition-base);position:relative;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:#fff;padding:0;width:var(--student-skill-gaps-segment-width, 0%)}.student-skill-gaps-progress-segment.active{box-shadow:inset 0 0 0 3px #ffffff80}.student-skill-gaps-progress-segment.needs-development{background:linear-gradient(135deg,#f44336,#e53935)}.student-skill-gaps-progress-segment.meets-requirements{background:linear-gradient(135deg,#4caf50,#43a047)}.student-skill-gaps-progress-segment-value{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);pointer-events:none}.student-skill-gaps-progress-reset{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.student-skill-gaps-progress-reset:hover{background-color:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}.student-skill-gaps-progress-reset .material-symbols-outlined{font-size:18px}.student-skill-gap-item.needs-development .student-skill-gap-icon{background-color:#f443361f;color:#f44336}.student-skill-gap-item.meets-requirement .student-skill-gap-icon{background-color:#4caf501f;color:#4caf50}.student-skill-gap-item.meets-requirement{background:linear-gradient(135deg,#4caf5008,#4caf5003);border-left-color:#4caf50}.student-quick-actions{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl)}.student-quick-actions-title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.student-quick-actions-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.student-quick-action{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);text-align:left;text-decoration:none;cursor:pointer;transition:all .2s ease}.student-quick-action:hover{background-color:var(--palette-neutral-50)}.student-quick-action-icon{width:24px;height:24px;color:var(--color-primary)}.student-skill-levels-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);margin-top:var(--spacing-xl)}.student-skill-levels-summary{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.student-skill-levels-summary::-webkit-details-marker{display:none}.student-skill-levels-summary .material-symbols-outlined{color:var(--color-primary);font-size:24px}.student-skill-levels-chevron{margin-left:auto;transition:transform var(--transition-fast);color:var(--color-text-hint)!important}details.student-skill-levels-card[open] .student-skill-levels-chevron{transform:rotate(180deg)}details.student-skill-levels-card .student-skill-levels-subtitle{margin-top:var(--spacing-md)}.student-skill-levels-title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-sm)}.student-skill-levels-title .material-symbols-outlined{color:var(--color-primary);font-size:24px}.student-skill-levels-subtitle{font-size:var(--font-size-label);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.5}.student-skill-levels-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.student-skill-level-item{padding:var(--spacing-md);border-radius:var(--radius-md);border-left:4px solid;background-color:var(--palette-neutral-50);transition:all .2s ease}.student-skill-level-item:hover{transform:translate(4px);box-shadow:var(--shadow-sm)}.student-skill-level-item.level-novice{border-left-color:#9e9e9e;background:linear-gradient(135deg,#9e9e9e0d,#9e9e9e05)}.student-skill-level-item.level-advanced{border-left-color:#2196f3;background:linear-gradient(135deg,#2196f30d,#2196f305)}.student-skill-level-item.level-competent{border-left-color:#ffc107;background:linear-gradient(135deg,#ffc1070d,#ffc10705)}.student-skill-level-item.level-proficient{border-left-color:#ff9800;background:linear-gradient(135deg,#ff98000d,#ff980005)}.student-skill-level-item.level-expert{border-left-color:#4caf50;background:linear-gradient(135deg,#4caf500d,#4caf5005)}.student-skill-level-header{margin-bottom:var(--spacing-sm)}.student-skill-level-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:4px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);text-transform:capitalize}.level-novice .student-skill-level-badge{background-color:#9e9e9e1f;color:#616161}.level-advanced .student-skill-level-badge{background-color:#2196f31f;color:#1976d2}.level-competent .student-skill-level-badge{background-color:#ffc1071f;color:#f57c00}.level-proficient .student-skill-level-badge{background-color:#ff98001f;color:#e65100}.level-expert .student-skill-level-badge{background-color:#4caf501f;color:#2e7d32}.student-skill-level-badge .material-symbols-outlined{font-size:16px}.student-skill-level-description{font-size:var(--font-size-label);color:var(--color-text-secondary);line-height:1.6;margin:0}.student-skill-levels-compact{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.student-skill-levels-compact__row{display:grid;grid-template-columns:28px 1fr;column-gap:var(--spacing-sm);align-items:start;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border-left:4px solid var(--palette-neutral-300);background:var(--palette-neutral-50)}.student-skill-levels-compact__row.level-novice{border-left-color:#9e9e9e}.student-skill-levels-compact__row.level-advanced{border-left-color:#2196f3}.student-skill-levels-compact__row.level-competent{border-left-color:#ffc107}.student-skill-levels-compact__row.level-proficient{border-left-color:#ff9800}.student-skill-levels-compact__row.level-expert{border-left-color:#4caf50}.student-skill-levels-compact__index{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--color-surface);border:1px solid var(--color-border);font-size:12px;font-weight:700;color:var(--color-text-secondary)}.student-skill-levels-compact__row.level-novice .student-skill-levels-compact__index{color:#616161;border-color:#9e9e9e}.student-skill-levels-compact__row.level-advanced .student-skill-levels-compact__index{color:#1976d2;border-color:#2196f3}.student-skill-levels-compact__row.level-competent .student-skill-levels-compact__index{color:#f57c00;border-color:#ffc107}.student-skill-levels-compact__row.level-proficient .student-skill-levels-compact__index{color:#e65100;border-color:#ff9800}.student-skill-levels-compact__row.level-expert .student-skill-levels-compact__index{color:#2e7d32;border-color:#4caf50}.student-skill-levels-compact__body{display:flex;flex-direction:column;gap:2px;min-width:0}.student-skill-levels-compact__name{font-size:14px;font-weight:600;color:var(--color-text-primary);line-height:1.3}.student-skill-levels-compact__desc{font-size:12px;color:var(--color-text-secondary);line-height:1.45}.student-skill-progression{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);margin-top:var(--spacing-xl)}.student-skill-progression-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-section-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.student-skill-progression-title .material-symbols-outlined{color:var(--color-primary);font-size:24px}.student-skill-progression-subtitle{font-size:var(--font-size-label);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.student-skill-progression-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.student-skill-progression-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);background-color:var(--palette-neutral-50);transition:all var(--transition-base)}.student-skill-progression-item:hover{background-color:var(--palette-neutral-100);transform:translate(2px)}.student-skill-progression-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1976d21f,#1976d214);border-radius:var(--radius-sm);color:var(--color-primary);flex-shrink:0}.student-skill-progression-icon .material-symbols-outlined{font-size:20px}.student-skill-progression-content{flex:1;min-width:0}.student-skill-progression-skill{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-skill-progression-level{margin-bottom:var(--spacing-xs)}.student-skill-progression-level .level-badge{display:inline-block;padding:3px 8px;font-size:var(--font-size-label);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);text-transform:capitalize}.student-skill-progression-level .level-badge.level-novice{background-color:#6161611f;color:var(--color-text-secondary)}.student-skill-progression-level .level-badge.level-advanced{background-color:#2196f31f;color:#1976d2}.student-skill-progression-level .level-badge.level-competent{background-color:#4caf501f;color:#388e3c}.student-skill-progression-level .level-badge.level-proficient{background-color:#ff98001f;color:#f57c00}.student-skill-progression-level .level-badge.level-expert{background-color:#9c27b01f;color:#7b1fa2}.student-skill-progression-date{font-size:var(--font-size-label);color:var(--color-text-secondary)}.student-skill-progression-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-xl);text-align:center}.student-skill-progression-empty .material-symbols-outlined{font-size:48px;color:var(--palette-neutral-300);margin-bottom:var(--spacing-md)}.student-skill-progression-empty p{font-size:var(--font-size-body);color:var(--color-text-secondary);margin:0}.job-role-selection{min-height:100vh;background-color:var(--color-background);display:flex;flex-direction:column}.job-role-hero{background:linear-gradient(135deg,#1976d2,#1565c0);color:var(--color-on-primary);padding:var(--spacing-3xl) var(--spacing-xl);text-align:center}.job-role-hero-title{font-size:48px;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.job-role-hero-subtitle{font-size:var(--font-size-title);opacity:.9;max-width:600px;margin:0 auto}.job-role-header-compact{padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-lg)}.job-role-header-compact-title{font-size:var(--font-size-headline);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.job-role-current-goal-badge{display:inline-flex;align-items:center;gap:2px;margin-left:var(--spacing-sm);padding:1px 8px;border-radius:var(--radius-full);background-color:var(--palette-success-50);color:var(--color-success);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);vertical-align:middle}.job-role-content{flex:1;display:grid;grid-template-columns:400px 1fr;gap:var(--spacing-lg);width:100%}.job-role-list-panel{background-color:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--spacing-xl);overflow-y:auto}.job-role-list-title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.job-role-list-subtitle{font-size:var(--font-size-label);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.5}.job-role-list{display:flex;flex-direction:column;gap:var(--spacing-xl)}.job-role-category-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.job-role-category-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:linear-gradient(to right,var(--palette-neutral-50),transparent);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);margin-bottom:var(--spacing-xs)}.job-role-category-icon{font-size:22px;color:var(--color-primary);flex-shrink:0}.job-role-category-title{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);letter-spacing:.2px;margin:0;flex:1}.job-role-category-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 8px;background-color:var(--color-primary-container);color:var(--color-primary);border-radius:999px;font-size:12px;font-weight:var(--font-weight-medium)}.job-role-category-roles{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-left:var(--spacing-md)}.job-role-details-category{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:6px var(--spacing-md);background-color:var(--color-primary-container);color:var(--color-primary);border-radius:999px;font-size:var(--font-size-label);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-md);width:fit-content}.job-role-details-category-icon{font-size:18px}.job-role-details-category-label{letter-spacing:.3px}.job-role-card{padding:var(--spacing-md);background-color:transparent;border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.job-role-card:hover{border-color:var(--color-primary);background-color:var(--palette-neutral-50)}.job-role-card.active{border-color:var(--color-primary);background-color:var(--color-primary-container)}.job-role-card-title{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.job-role-card-description{font-size:var(--font-size-label);color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.job-role-details-panel{padding:var(--spacing-3xl);overflow-y:auto}.job-role-details-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary);text-align:center}.job-role-details-empty-icon{font-size:64px;margin-bottom:var(--spacing-lg);opacity:.5}.job-role-details-title{font-size:36px;font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.job-role-details-description{font-size:var(--font-size-body);color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--spacing-2xl)}.job-role-details-section{margin-bottom:var(--spacing-2xl)}.job-role-details-section-title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.job-role-skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.job-role-skill-card{position:relative;padding:var(--spacing-lg);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.job-role-skill-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.job-role-skill-header{display:flex;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.job-role-skill-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-primary-container);border-radius:var(--radius-md);color:var(--color-primary);flex-shrink:0}.job-role-skill-icon .material-symbols-outlined{font-size:24px}.job-role-skill-content{flex:1;min-width:0}.job-role-skill-name{font-size:var(--font-size-h6);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.4;margin:0 0 var(--spacing-xs) 0}.job-role-skill-description{margin:var(--spacing-sm) 0 0 0;font-size:var(--font-size-body-sm, var(--font-size-label));color:var(--color-text-secondary);line-height:1.5}.job-role-skills-level-description{margin:0 0 var(--spacing-md) 0;padding:var(--spacing-md);background-color:var(--palette-blue-50);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-body-sm, var(--font-size-label));line-height:1.5}.job-role-details-section-suffix{margin-left:var(--spacing-sm);font-size:var(--font-size-label);font-weight:var(--font-weight-regular);color:var(--color-text-secondary)}.job-role-seniority-help{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-body-sm, var(--font-size-label));color:var(--color-text-secondary);line-height:1.5}.job-role-seniority-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md)}.job-role-seniority-card{position:relative;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%;appearance:none;-webkit-appearance:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.job-role-seniority-card:hover{background-color:var(--palette-neutral-50);border-color:var(--palette-neutral-300)}.job-role-seniority-card:focus-visible{outline:none;box-shadow:0 0 0 2px var(--palette-blue-200, var(--color-primary))}.job-role-seniority-card--active{border-color:var(--color-primary);background-color:var(--palette-blue-50);box-shadow:0 1px 2px #1976d214}.job-role-seniority-card--active:hover{background-color:var(--palette-blue-50)}.job-role-seniority-card__icon{font-size:28px;color:var(--color-text-secondary);flex-shrink:0}.job-role-seniority-card--active .job-role-seniority-card__icon{color:var(--color-primary)}.job-role-seniority-card__body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.job-role-seniority-card__title{font-size:var(--font-size-body, 1rem);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-transform:capitalize;line-height:1.3}.job-role-seniority-card__target{font-size:var(--font-size-label);color:var(--color-text-secondary);line-height:1.3}.job-role-seniority-card--active .job-role-seniority-card__target{color:var(--color-primary);font-weight:var(--font-weight-medium)}.job-role-skill-level-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:4px 12px;background-color:var(--palette-neutral-100);border-radius:var(--radius-full);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.job-role-skill-level-badge.level-novice{background-color:#9c27b01f;color:#9c27b0}.job-role-skill-level-badge.level-advanced{background-color:#03a9f41f;color:#03a9f4}.job-role-skill-level-badge.level-competent{background-color:#4caf501f;color:#4caf50}.job-role-skill-level-badge.level-proficient{background-color:#ff98001f;color:#ff9800}.job-role-skill-level-badge.level-expert{background-color:#e91e631f;color:#e91e63}.job-role-details-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-2xl)}.job-role-details-stack{display:flex;flex-direction:column;gap:var(--spacing-lg)}.job-role-details-card{padding:var(--spacing-xl)}.job-role-details-card--hero{display:flex;flex-direction:column;gap:var(--spacing-sm)}.job-role-details-card--hero .job-role-details-category{align-self:flex-start;margin:0}.job-role-details-card--hero .job-role-details-title,.job-role-details-card--hero .job-role-details-description{margin:0}.job-role-details-stack>.ds-card,.job-role-details-card.job-role-details-section{margin-bottom:0}.job-role-details-card .job-role-details-section-title{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:0;margin-bottom:var(--spacing-lg)}.job-role-details-card .job-role-details-actions{margin-top:var(--spacing-xl)}.job-role-details-error{margin-bottom:0}.job-role-details-muted{color:var(--color-text-secondary);margin:0}.job-role-details-steps{list-style:decimal inside;display:flex;flex-direction:column;gap:var(--spacing-md);color:var(--color-text-secondary);margin:0;padding:0}.job-role-details-steps strong{color:var(--color-text-primary)}.job-role-details-panel{padding:0}.job-role-list-card{padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:0}.job-role-list-card .job-role-list-header{display:flex;flex-direction:column;gap:var(--spacing-xs)}.job-role-list-card .job-role-list-title,.job-role-list-card .job-role-list-subtitle{margin:0}.job-role-list-panel{padding:0;background:transparent;border-right:none}.roadmap-container{min-height:100vh;background-color:var(--color-background)}.roadmap-content{padding:var(--spacing-lg) var(--spacing-xl)}.roadmap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);gap:var(--spacing-lg)}.roadmap-summary-strip{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--palette-neutral-50);border-radius:var(--radius-md);border:1px solid var(--color-divider)}.roadmap-summary-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.roadmap-summary-item .material-symbols-outlined{font-size:18px;color:var(--color-primary)}.roadmap-progress-card{margin-bottom:var(--spacing-xl);overflow:hidden}.roadmap-progress-stats{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);gap:var(--spacing-xl)}.roadmap-progress-info{flex:1}.roadmap-progress-numbers{display:flex;align-items:baseline;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.roadmap-progress-completed{font-size:48px;font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:1}.roadmap-progress-separator,.roadmap-progress-total{font-size:32px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.roadmap-progress-label{font-size:var(--font-size-body);color:var(--color-text-secondary);margin-left:var(--spacing-sm)}.roadmap-progress-percentage{flex-shrink:0}.roadmap-progress-circle{position:relative;width:120px;height:120px}.roadmap-progress-svg{width:100%;height:100%;transform:rotate(-90deg)}.roadmap-progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.roadmap-progress-value{font-size:28px;font-weight:var(--font-weight-bold);color:var(--color-primary)}.roadmap-progress-bar-container{padding:0 var(--spacing-xl) var(--spacing-xl)}.roadmap-progress-bar{height:8px;background-color:var(--palette-neutral-200);border-radius:var(--radius-round);overflow:hidden}.roadmap-progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 100%);border-radius:var(--radius-round);transition:width var(--transition-slow)}.roadmap-modules{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.roadmap-timeline{gap:0}.roadmap-timeline-item{display:flex;gap:var(--spacing-md)}.roadmap-timeline-item .roadmap-module{flex:1;margin-bottom:var(--spacing-md)}.roadmap-timeline-track{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:36px;padding-top:var(--spacing-lg)}.roadmap-timeline-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--palette-neutral-200);color:var(--color-text-hint);z-index:1}.roadmap-timeline-dot-completed{background:var(--color-success);color:#fff}.roadmap-timeline-dot-in-progress{background:var(--color-primary);color:#fff}.roadmap-timeline-dot-next-up{background:var(--color-warning);color:#fff}.roadmap-timeline-line{flex:1;width:2px;background:var(--palette-neutral-200);min-height:var(--spacing-md)}.roadmap-module{position:relative;display:flex;align-items:stretch;transition:all var(--transition-base);overflow:hidden}.roadmap-module:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.roadmap-module-locked{opacity:.6}.roadmap-module-locked:hover{transform:none;box-shadow:var(--shadow-md)}.roadmap-module-number{position:absolute;top:var(--spacing-md);left:var(--spacing-md);z-index:1}.roadmap-module-content{flex:1;padding:var(--spacing-xl);padding-left:calc(var(--spacing-xl) + 48px)}.roadmap-module-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.roadmap-module-title-section{flex:1}.roadmap-module-title{margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.roadmap-module-meta{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.roadmap-module-skills-count{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-body);color:var(--color-text-secondary)}.roadmap-module-skills-count .material-symbols-outlined{font-size:16px}.roadmap-module-action{flex-shrink:0}.roadmap-module-description{font-size:var(--font-size-body);color:var(--color-text-secondary);line-height:1.5;margin-bottom:var(--spacing-sm)}.roadmap-module-objectives{list-style:none;padding:0;margin:0 0 var(--spacing-sm) 0;display:flex;flex-direction:column;gap:var(--spacing-2xs)}.roadmap-module-objectives li{font-size:var(--font-size-label);color:var(--color-text-secondary);padding-left:var(--spacing-md);position:relative}.roadmap-module-objectives li:before{content:"—";position:absolute;left:0;color:var(--color-text-hint)}.roadmap-module-objectives-more{color:var(--color-text-hint);font-style:italic}.roadmap-module-skills{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.roadmap-skill-chip{display:inline-flex;align-items:stretch;overflow:hidden;background-color:var(--palette-neutral-100);border:1px solid var(--palette-neutral-200);border-radius:var(--radius-round);font-size:var(--font-size-label);color:var(--color-text-primary);transition:background-color var(--transition-fast),border-color var(--transition-fast)}.roadmap-skill-chip:hover{background-color:var(--palette-neutral-200)}.roadmap-skill-chip__name{padding:4px var(--spacing-md);display:inline-flex;align-items:center}.roadmap-skill-chip__level{padding:4px var(--spacing-md);display:inline-flex;align-items:center;background-color:var(--palette-neutral-200);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);font-size:calc(var(--font-size-label) - 1px);letter-spacing:.01em;white-space:nowrap}.roadmap-skill-chip--novice .roadmap-skill-chip__level{background-color:var(--palette-blue-50);color:var(--palette-blue-700, var(--color-primary))}.roadmap-skill-chip--advanced .roadmap-skill-chip__level{background-color:var(--palette-blue-100, var(--palette-blue-50));color:var(--palette-blue-800, var(--color-primary))}.roadmap-skill-chip--competent .roadmap-skill-chip__level{background-color:#fef3c7;color:#92400e}.roadmap-skill-chip--proficient .roadmap-skill-chip__level{background-color:#dcfce7;color:#166534}.roadmap-skill-chip--expert .roadmap-skill-chip__level{background-color:#ede9fe;color:#5b21b6}.roadmap-skill-more{padding:4px var(--spacing-md);background-color:var(--palette-blue-50);color:var(--color-primary);font-weight:var(--font-weight-medium)}.roadmap-module-indicator{position:absolute;left:0;top:0;bottom:0;width:4px}.roadmap-module-indicator-completed{background-color:var(--color-success)}.roadmap-module-indicator-in-progress{background-color:var(--color-primary)}.roadmap-module-indicator-next-up{background-color:var(--color-warning)}.roadmap-module-indicator-locked{background-color:var(--palette-neutral-300)}@media (max-width: 768px){.roadmap-content{padding:var(--spacing-xl) var(--spacing-md)}.roadmap-header{flex-direction:column;gap:var(--spacing-md)}.roadmap-progress-stats{flex-direction:column;align-items:flex-start;text-align:left}.roadmap-progress-circle{width:100px;height:100px}.roadmap-progress-value{font-size:24px}.roadmap-module-content{padding:var(--spacing-md);padding-left:calc(var(--spacing-md) + 40px)}.roadmap-module-header{flex-direction:column}.roadmap-module-action{width:100%}.roadmap-module-action .ds-btn{width:100%;justify-content:center}.roadmap-timeline-track{display:none}.roadmap-timeline-item .roadmap-module{margin-bottom:var(--spacing-sm)}}.module-learning{display:grid;grid-template-columns:320px minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:100%;min-height:0;width:100%;background-color:var(--color-surface, #FFFFFF);overflow:hidden}.module-learning-sidebar{background-color:var(--color-surface, #FFFFFF);border-right:1px solid var(--color-divider, #E0E0E0);display:flex;flex-direction:column;overflow-y:auto;min-height:0}.module-learning-progress{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.module-learning-module-title{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px}.module-learning-activity-title{font-size:var(--font-size-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.module-learning-description{font-size:var(--font-size-body);color:var(--color-text-secondary);line-height:1.5;margin-bottom:var(--spacing-md)}.module-learning-time-estimate{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-label);color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.module-learning-objectives{margin-bottom:var(--spacing-md)}.module-learning-objectives-title{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.module-learning-objectives-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-2xs)}.module-learning-objectives-list li{font-size:var(--font-size-label);color:var(--color-text-secondary);padding-left:var(--spacing-md);position:relative}.module-learning-objectives-list li:before{content:"✓";position:absolute;left:0;color:var(--color-success);font-weight:var(--font-weight-bold)}.module-learning-progress-text{font-size:var(--font-size-label);color:var(--color-text-secondary);text-align:center}.module-learning-skills{padding-top:var(--spacing-sm)}.module-learning-skills-toggle{display:flex;align-items:center;gap:var(--spacing-xs);width:100%;padding:0;border:none;background:none;cursor:pointer;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-family:inherit}.module-learning-skills-toggle:hover{color:var(--color-primary)}.module-learning-skills-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 var(--spacing-xs);border-radius:var(--radius-full);background-color:var(--palette-primary-100);color:var(--palette-primary-700);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.module-learning-skills-chevron{margin-left:auto;font-size:20px;transition:transform .2s ease;color:var(--color-text-secondary)}.module-learning-skills-chevron--expanded{transform:rotate(180deg)}.module-learning-skills-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.module-learning-skill-item{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--palette-neutral-50);border-radius:var(--radius-md);border-left:3px solid var(--palette-neutral-200, #E0E0E0);display:flex;flex-direction:column;gap:var(--spacing-xs);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.module-learning-skill-item--focused{background-color:var(--color-primary-container, #E3F2FD);border-left-color:var(--color-primary, #1976D2);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary, #1976D2) 20%,transparent);animation:assessment-scope-active-pulse 1.8s ease-in-out infinite}.module-learning-skill-item--focused .module-learning-skill-item-name{color:var(--color-primary);font-weight:var(--font-weight-semibold, 600)}@media (prefers-reduced-motion: reduce){.module-learning-skill-item--focused{animation:none}}.module-learning-skill-item--ready{border-left-color:var(--palette-success-500, #4CAF50)}.module-learning-skill-item--focused.module-learning-skill-item--ready{background-color:color-mix(in srgb,var(--palette-success-500, #4CAF50) 10%,#FFFFFF);border-left-color:var(--palette-success-500, #4CAF50);box-shadow:0 0 0 1px color-mix(in srgb,var(--palette-success-500, #4CAF50) 22%,transparent)}.module-learning-skill-item--met{background-color:var(--palette-neutral-50, #FAFAFA);border-left-color:var(--palette-success-500, #4CAF50);opacity:.92}.module-learning-skill-item-met-tag{display:inline-flex;align-items:center;gap:var(--spacing-xs);align-self:flex-start;padding:2px var(--spacing-sm);background-color:var(--palette-success-700, #2E7D32);color:#fff;border-radius:var(--radius-full, 999px);font-size:var(--font-size-caption, 11px);font-weight:var(--font-weight-semibold, 600);letter-spacing:.3px;text-transform:uppercase;line-height:1.4}.module-learning-skill-item-focus-tag{display:inline-flex;align-items:center;gap:var(--spacing-xs);align-self:flex-start;padding:2px var(--spacing-sm);background-color:var(--color-primary, #1976D2);color:#fff;border-radius:var(--radius-full, 999px);font-size:var(--font-size-caption, 11px);font-weight:var(--font-weight-semibold, 600);letter-spacing:.3px;text-transform:uppercase;line-height:1.4}.module-learning-skill-item--ready .module-learning-skill-item-focus-tag{background-color:var(--palette-success-700, #2E7D32)}.module-learning-skill-item-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);flex-wrap:wrap}.module-learning-skill-item-target{display:inline-flex;align-items:baseline;gap:var(--spacing-xs);font-size:var(--font-size-caption);color:var(--color-text-secondary)}.module-learning-skill-item-target-label{text-transform:uppercase;letter-spacing:.4px;font-weight:var(--font-weight-semibold, 600);font-size:10px}.module-learning-skill-item-target-value{text-transform:capitalize;color:var(--color-text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-caption)}.module-learning-skills-list .module-learning-skill-item-review,a.module-learning-skill-item-review{display:flex;align-items:center;justify-content:center;margin-top:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background-color:var(--palette-success-700, #2E7D32);color:#fff;border-radius:var(--radius-sm);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold, 600);text-decoration:none;transition:filter .15s ease;min-height:28px;line-height:1.2}.module-learning-skills-list .module-learning-skill-item-review:hover,a.module-learning-skill-item-review:hover{filter:brightness(1.08);color:#fff}.module-learning-skill-tag{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:4px var(--spacing-md);background-color:var(--color-primary-container);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px;line-height:1}.module-learning-skill-tag .material-symbols-outlined{font-size:16px;line-height:1}.module-learning-keep-practicing-hint{font-size:var(--font-size-caption);color:var(--color-text-secondary);line-height:1.5;margin:0 0 var(--spacing-md) 0}.module-learning-skip-hint{font-size:var(--font-size-caption);color:var(--color-text-secondary);line-height:1.5;margin:var(--spacing-xs) 0 0 0}.module-learning-inline-streak-strip{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-sm);border-top:1px solid var(--color-border)}.module-learning-inline-streak-chip{display:inline-flex;align-items:center;gap:var(--spacing-2xs);padding:2px var(--spacing-sm);border-radius:var(--radius-full);background-color:var(--palette-neutral-50);font-size:var(--font-size-caption);color:var(--color-text-secondary)}.module-learning-inline-streak-chip--focused{background-color:var(--color-primary-container);color:var(--color-primary);font-weight:var(--font-weight-medium)}.module-learning-inline-streak-chip--ready{background-color:var(--palette-success-50, var(--palette-primary-100));color:var(--palette-success-700, var(--palette-primary-700))}.module-learning-inline-streak-chip .material-symbols-outlined{font-size:14px}.module-learning-inline-streak-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-learning-inline-streak-count{font-weight:var(--font-weight-medium)}.module-learning-inline-streak-review{font-size:var(--font-size-caption);color:var(--palette-success-700, var(--color-primary));text-decoration:underline;cursor:pointer}.module-learning-history{flex:1;padding:var(--spacing-lg);overflow-y:auto;min-height:400px}.module-learning-history-title{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.module-learning-history-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.module-learning-history-item{padding:var(--spacing-sm);background-color:var(--palette-neutral-50);border-radius:var(--radius-sm);font-size:var(--font-size-label);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.module-learning-history-item:hover{background-color:var(--palette-neutral-100);color:var(--color-text-primary)}.module-learning-history-item.active{background-color:var(--color-primary-container);color:var(--color-primary)}.module-learning-history-item-title{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.module-learning-history-item-name{font-weight:var(--font-weight-medium)}.module-learning-history-item-badges .ds-badge-date{background-color:var(--palette-neutral-100, #F5F5F5);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.module-learning-history-item-badges{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.module-learning-history-item-badges .ds-badge{font-size:var(--font-size-caption)}.module-learning-history-item-badges .ds-badge-scaffolding{background-color:var(--palette-primary-100);color:var(--palette-primary-700)}.module-learning-history-empty{font-size:var(--font-size-label);color:var(--color-text-secondary);margin:0}.module-learning-skill-item-row{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-2xs)}.module-learning-skill-item-name{font-weight:var(--font-weight-medium);font-size:var(--font-size-label)}.module-learning-skill-item-level{font-size:var(--font-size-caption);color:var(--color-text-secondary);text-transform:capitalize}.module-learning-sources{padding:var(--spacing-lg);border-bottom:1px solid var(--color-divider)}.module-learning-sources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-sm)}.module-source-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);background-color:var(--palette-neutral-50);color:var(--color-text-secondary);flex-shrink:0}.module-source-card-icon--youtube{color:var(--palette-error-600)}.module-source-card-icon--book{color:var(--palette-warning-700)}.module-source-card-icon--url{color:var(--color-primary)}.module-source-card-kicker{font-size:var(--font-size-caption);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.module-source-card-text{color:var(--color-text-primary)}.module-learning-completion-banner{background-color:var(--palette-success-50);border:1px solid var(--palette-success-500);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm);color:var(--palette-success-700);font-weight:var(--font-weight-medium)}.module-learning-actions-footer--wrap{gap:var(--spacing-md);flex-wrap:wrap}.module-learning-flag-label{display:block;font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.module-learning-flag-textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--color-divider);border-radius:var(--radius-md);font-size:var(--font-size-body);font-family:inherit;color:var(--color-text-primary);background-color:var(--color-surface, #FFFFFF);resize:vertical}.module-learning-flag-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary, #1976D2) 20%,transparent)}.module-learning-actions{padding:var(--spacing-lg);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-sm)}.module-learning-content{background-color:var(--color-surface, #FFFFFF);padding:var(--spacing-xl) var(--spacing-3xl) var(--spacing-3xl);overflow-y:auto;min-height:0;display:flex;flex-direction:column}.module-learning-activity{max-width:800px;margin:0 auto;width:100%;flex:1 1 auto;display:flex;flex-direction:column}.module-learning-empty{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);text-align:center;padding:var(--spacing-3xl) var(--spacing-xl);min-height:60vh}.module-learning-empty-icon{font-size:64px;line-height:1;color:var(--color-primary, #1976D2);background:color-mix(in srgb,var(--color-primary, #1976D2) 10%,#FFFFFF);width:96px;height:96px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-md)}.module-learning-empty-icon--success{color:var(--palette-success-700);background:var(--palette-success-50)}.module-learning-empty-icon--warning{color:var(--palette-warning-700);background:var(--palette-warning-50)}.module-learning-empty-title{font-size:var(--font-size-title);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.module-learning-empty-body{color:var(--color-text-secondary);max-width:560px;margin:0;line-height:1.5}.module-learning-empty-actions{display:flex;justify-content:center;gap:var(--spacing-md);flex-wrap:wrap;margin-top:var(--spacing-lg)}.module-learning-empty-callout{background-color:var(--palette-success-50);border:1px solid var(--palette-success-500);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-top:var(--spacing-lg);max-width:560px;width:100%;text-align:left}.module-learning-empty-callout--warning{background-color:var(--palette-warning-50);border-color:var(--palette-warning-500)}.module-learning-empty-callout--neutral{background-color:var(--palette-neutral-100);border-color:var(--color-divider)}.module-learning-empty-callout-title{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--palette-success-700)}.module-learning-empty-callout--warning .module-learning-empty-callout-title{color:var(--palette-warning-700)}.module-learning-empty-callout--neutral .module-learning-empty-callout-title{color:var(--color-text-primary)}.module-learning-empty-callout p{margin:0;color:var(--color-text-primary);line-height:1.5}.module-learning-gap-item{padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-divider)}.module-learning-gap-item:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.module-learning-gap-title{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.module-learning-gap-meta{font-size:var(--font-size-label);color:var(--color-text-secondary)}.module-learning-activity-header{margin-bottom:var(--spacing-2xl)}.module-learning-activity-header-chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.module-learning-activity-type{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:4px var(--spacing-md);background-color:var(--color-primary-container);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px;line-height:1}.module-learning-activity-type .material-symbols-outlined{font-size:16px;line-height:1}.module-learning-activity-prompt{font-size:var(--font-size-body);color:var(--color-text-primary);line-height:1.6;margin-bottom:var(--spacing-2xl)}.module-learning-practice-area{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.module-learning-practice-area--scaffolding{background-color:var(--color-primary-container);color:var(--color-primary)}.module-learning-practice-area--scaffolding-readonly{background-color:var(--color-primary-container);color:var(--color-primary);opacity:.8}.module-learning-practice-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.module-learning-practice-label .material-symbols-outlined{font-size:20px;line-height:1}.module-learning-scaffolding-type{margin-left:var(--spacing-xs);font-size:var(--font-size-label);color:var(--color-text-secondary);font-weight:var(--font-weight-regular);text-transform:none}.scaffolding-artifact{margin-top:var(--spacing-md)}.scaffolding-options{margin-top:var(--spacing-sm)}.scaffolding-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);margin-bottom:var(--spacing-xs);background-color:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:pointer;transition:all .2s ease}.scaffolding-option--selected{background-color:var(--color-primary-container, #E3F2FD);border:1px solid var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.scaffolding-option:hover:not(.scaffolding-option--selected){border-color:var(--color-primary)}.scaffolding-option__text{flex:1;color:var(--color-text-primary)}.scaffolding-option--selected .scaffolding-option__text strong{color:var(--color-primary)}.scaffolding-option .material-symbols-outlined{font-size:22px;color:var(--color-text-secondary)}.scaffolding-option--selected .material-symbols-outlined{color:var(--color-primary)}.scaffolding-multiple-choice-note{margin-top:var(--spacing-sm);font-size:var(--font-size-label);color:var(--color-text-secondary);font-style:italic}.scaffolding-documentation{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.scaffolding-checklist-container{margin-top:var(--spacing-sm);background-color:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-md);border:1px solid var(--color-border)}.scaffolding-checklist-item{display:flex;align-items:flex-start;padding:var(--spacing-xs) 0;cursor:pointer;transition:background-color .2s ease}.scaffolding-checklist-item:not(:last-child){border-bottom:1px solid var(--color-border)}.scaffolding-checklist-item:hover{background-color:var(--color-hover)}.scaffolding-checklist-item__text{flex:1}.scaffolding-checklist-item__text--checked{text-decoration:line-through;opacity:.7}.scaffolding-artifact--disabled{opacity:.9;pointer-events:none}.scaffolding-option--disabled,.scaffolding-checklist-item--disabled{cursor:default!important;opacity:.8}.module-learning-code-editor{width:100%;min-height:160px;padding:var(--spacing-md);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-body);line-height:1.6;background-color:var(--color-surface, #FFFFFF);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical}.module-learning-code-editor:focus{outline:2px solid var(--color-primary);outline-offset:-2px;border-color:var(--color-primary)}.module-learning-actions-footer{display:flex;justify-content:flex-start;align-items:center;margin-top:var(--spacing-xl);gap:var(--spacing-md);flex-wrap:wrap}.module-learning-actions-footer .btn-assess-skills{margin-left:auto}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl);margin-top:var(--spacing-xl)}.pricing-card{position:relative;display:flex;flex-direction:column;padding:var(--spacing-2xl);background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.pricing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.pricing-card.featured{border:2px solid var(--color-primary);background-color:#1976d205}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background-color:var(--color-primary);color:#fff;padding:4px 16px;border-radius:var(--radius-full);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:1px;box-shadow:var(--shadow-sm)}.pricing-name{font-size:24px;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md);color:var(--color-text-primary);text-align:center}.pricing-price{display:flex;align-items:baseline;justify-content:center;margin-bottom:var(--spacing-xl)}.pricing-price .currency{font-size:24px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.pricing-price .amount{font-size:48px;font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.pricing-price .period{font-size:16px;color:var(--color-text-secondary);margin-left:4px}.pricing-features{list-style:none;padding:0;margin:0 0 var(--spacing-2xl) 0;flex:1}.pricing-features li{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-body)}.pricing-features li .material-symbols-outlined{color:var(--color-success);font-size:20px}.pricing-actions{display:flex;flex-direction:column;gap:var(--spacing-md)}.payment-options{display:flex;flex-direction:column;gap:var(--spacing-sm)}.billing-current-plan-card{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-bottom:var(--spacing-2xl);box-shadow:var(--shadow-sm)}.billing-stack{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--spacing-lg);align-items:start}.billing-stack>.ds-card{margin-bottom:0;grid-column:1 / -1}.billing-stack>[data-area=plan]{grid-column:1 / span 7}.billing-stack>[data-area=plans]{grid-column:1 / -1}.billing-stack>[data-area=history]{grid-column:1 / span 7}.billing-stack>[data-area=invoices]{grid-column:8 / span 5}.billing-stack>[data-area=policy]{grid-column:8 / span 5}@media (max-width: 899px){.billing-stack>[data-area]{grid-column:1 / -1}}.billing-card{padding:var(--spacing-lg)}.billing-card .billing-section-header{margin-bottom:var(--spacing-md)}.billing-card .billing-section-title{font-size:18px;margin-bottom:2px}.billing-card .billing-section-subtitle{font-size:13px}.billing-current-plan-row{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap}.billing-error-alert{margin-bottom:var(--spacing-lg)}.billing-empty-state{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl)}.billing-empty-state__text{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.billing-empty-state__cta{display:inline-flex}.billing-empty-plans{color:var(--color-text-secondary);text-align:center;grid-column:1 / -1;padding:var(--spacing-2xl)}.billing-cell-capitalize{text-transform:capitalize}.billing-cell-mono{font-family:monospace;font-size:var(--font-size-label)}.billing-policy-list{display:flex;flex-direction:column;gap:var(--spacing-lg);color:var(--color-text-secondary);font-size:14px;line-height:1.6}.billing-policy-item{display:flex;gap:var(--spacing-md);align-items:flex-start}.billing-policy-icon{color:var(--color-primary);font-size:20px;margin-top:2px;flex-shrink:0}.billing-policy-heading{color:var(--color-text-primary);display:block;margin-bottom:var(--spacing-xs)}.billing-checkout-modal{max-width:480px}.billing-checkout-intro{margin-bottom:var(--spacing-xl);color:var(--color-text-secondary)}.billing-checkout-methods{display:flex;flex-direction:column;gap:var(--spacing-md)}.billing-checkout-method{min-height:64px;padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-md);text-align:left}.billing-checkout-method-label{display:flex;flex-direction:column;align-items:flex-start;line-height:1.3}.billing-checkout-method-title{font-size:16px;font-weight:600}.billing-checkout-method-desc{font-size:12px;opacity:.8}.billing-checkout-spinner{width:24px;height:24px}.billing-checkout-footer{margin-top:var(--spacing-xl);font-size:12px;color:var(--color-text-secondary);text-align:center}.billing-cancel-message{margin-bottom:var(--spacing-md)}.billing-cancel-detail,.pricing-features__muted,.pricing-features__muted .material-symbols-outlined{color:var(--color-text-secondary)}.billing-plan-info h3{font-size:18px;font-weight:var(--font-weight-bold);margin:0 0 2px}.billing-plan-status{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);color:var(--color-success);text-transform:capitalize}.billing-empty-state__icon{display:block;margin-bottom:var(--spacing-sm)}.billing-plan-date{font-size:var(--font-size-label);color:var(--color-text-secondary);margin:var(--spacing-xs) 0 0 0}.billing-section-header{margin-bottom:var(--spacing-xl)}.billing-section-title{font-size:24px;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.billing-section-subtitle{font-size:var(--font-size-body);color:var(--color-text-secondary)}.billing-table-container{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-sm)}.billing-card .billing-table-container{background-color:transparent;border:none;box-shadow:none;border-radius:0}.billing-table{width:100%;border-collapse:collapse}.billing-table th{text-align:left;padding:var(--spacing-lg);background-color:var(--palette-neutral-50);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);border-bottom:1px solid var(--color-border)}.billing-table td{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);color:var(--color-text-primary)}.billing-table tr:last-child td{border-bottom:none}.module-learning-streaming-indicator{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-surface);border-radius:var(--radius-md);font-size:var(--font-size-label);color:var(--color-text-secondary)}.module-learning-streaming-dot{width:8px;height:8px;background-color:var(--color-primary);border-radius:var(--radius-full);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.assessment-chat-wrapper{height:100%;display:flex;flex-direction:column;background-color:var(--color-background)}.assessment-chat-container{display:flex;flex-direction:column;height:100%;width:100%}.assessment-skill-review-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-primary-container);border-bottom:1px solid var(--color-border);flex-shrink:0}.assessment-skill-review-header .material-symbols-outlined{font-size:24px;color:var(--color-primary)}.assessment-skill-review-header h2{margin:0;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-primary)}.assessment-messages-container{flex:1;overflow-y:auto;overflow-anchor:none;display:flex;flex-direction:column;min-height:0}.assessment-messages-wrapper{flex:1;display:flex;flex-direction:column;min-height:min-content;overflow-anchor:auto}.assessment-message-row{width:100%;padding:var(--spacing-2xl) 0;display:flex;justify-content:center;animation:fadeInUp .3s ease}.assessment-message-row.question{background-color:var(--palette-neutral-50)}.assessment-message-row.answer{background-color:var(--color-surface)}.assessment-message-inner{display:flex;gap:var(--spacing-lg);width:100%;max-width:800px;padding:0 var(--spacing-xl)}.assessment-message-avatar{width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:24px}.assessment-message-row.question .assessment-message-avatar{background-color:#10a37f;color:var(--color-on-primary)}.assessment-message-row.answer .assessment-message-avatar{background-color:var(--color-primary);color:var(--color-on-primary)}.assessment-message-content{flex:1;min-width:0;font-size:16px;line-height:1.75;color:var(--color-text-primary);word-wrap:break-word;white-space:pre-wrap}.assessment-question-text{margin-top:var(--spacing-sm)}.assessment-skill-tag{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:4px var(--spacing-md);background-color:var(--color-primary-container);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm)}.assessment-skill-tag .material-symbols-outlined{font-size:18px}.assessment-typing-indicator{display:flex;gap:6px;padding:var(--spacing-md) 0}.assessment-typing-dot{width:8px;height:8px;background-color:var(--color-text-secondary);border-radius:var(--radius-full);animation:typingBounce 1.4s ease-in-out infinite}.assessment-typing-dot:nth-child(2){animation-delay:.2s}.assessment-typing-dot:nth-child(3){animation-delay:.4s}.assessment-input-container{padding:var(--spacing-xl);background-color:var(--color-background);border-top:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;flex-shrink:0}.assessment-input-wrapper{width:100%;max-width:800px;position:relative;display:flex;align-items:flex-end;gap:var(--spacing-sm);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-sm);box-shadow:var(--shadow-sm);transition:all .2s ease}.assessment-input-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #1976d21a}.assessment-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);font-size:16px;font-family:var(--font-family-sans);color:var(--color-text-primary);background-color:transparent;border:none;resize:none;max-height:200px;outline:none;line-height:1.5}.assessment-input::placeholder{color:var(--color-text-hint)}.assessment-send-button{width:36px;height:36px;flex-shrink:0;background-color:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:20px}.assessment-send-button:hover:not(:disabled){background-color:var(--palette-blue-700);transform:scale(1.05)}.assessment-send-button:disabled{opacity:.4;cursor:not-allowed;background-color:var(--palette-neutral-300)}.assessment-processing-icon{position:relative;width:20px;height:20px;display:inline-block}.assessment-processing-icon .circle{position:absolute;width:20px;height:20px;border-radius:50%;border:2px solid var(--color-on-primary);border-top-color:transparent;animation:assessment-spin .8s linear infinite}.assessment-processing-icon .pulse{position:absolute;width:20px;height:20px;border-radius:50%;background-color:var(--color-on-primary);opacity:.3;animation:assessment-pulse 1.5s ease-in-out infinite}@keyframes assessment-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes assessment-pulse{0%,to{transform:scale(.5);opacity:.3}50%{transform:scale(1);opacity:.1}}.assessment-input-hint{margin-top:var(--spacing-sm);font-size:var(--font-size-label);color:var(--color-text-secondary);text-align:center}.student-assessment{padding:var(--spacing-3xl);max-width:900px;margin:0 auto}.student-assessment-header{text-align:center;margin-bottom:var(--spacing-3xl)}.student-assessment-title{font-size:var(--font-size-page-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.student-assessment-subtitle{font-size:var(--font-size-body);color:var(--color-text-secondary)}.student-assessment-progress{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.student-assessment-progress-bar{width:100%;height:8px;background-color:var(--palette-neutral-200);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--spacing-sm)}.student-assessment-progress-fill{height:100%;background-color:var(--color-primary);transition:width .3s ease}.student-assessment-progress-text{font-size:var(--font-size-label);color:var(--color-text-secondary);text-align:center}.student-assessment-question-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-2xl);margin-bottom:var(--spacing-xl)}.student-assessment-skill-badge{display:inline-block;padding:4px var(--spacing-md);background-color:var(--color-primary-container);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-lg)}.student-assessment-question-text{font-size:var(--font-size-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.5;margin-bottom:var(--spacing-xl)}.student-assessment-answer-area{margin-bottom:var(--spacing-xl)}.student-assessment-answer-label{display:block;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.student-assessment-answer-input{width:100%;min-height:150px;padding:var(--spacing-md);font-size:var(--font-size-body);font-family:var(--font-family-sans);color:var(--color-text-primary);background-color:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-md);resize:vertical;transition:border-color .2s ease}.student-assessment-answer-input:focus{outline:none;border-color:var(--color-primary)}.student-assessment-actions{display:flex;justify-content:space-between;align-items:center}.student-assessment-history{margin-top:var(--spacing-2xl)}.student-assessment-history-title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.student-assessment-history-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.student-assessment-history-item{background-color:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.student-assessment-history-question{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.student-assessment-history-answer{font-size:var(--font-size-label);color:var(--color-text-secondary)}.student-assessment-complete{text-align:center;padding:var(--spacing-3xl)}.student-assessment-complete-icon{font-size:64px;color:var(--palette-success-500);margin-bottom:var(--spacing-lg)}.student-assessment-complete-title{font-size:32px;font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.student-assessment-complete-message{font-size:var(--font-size-body);color:var(--color-text-secondary);margin-bottom:var(--spacing-2xl)}.student-assessment-complete-summary{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);margin:0 auto var(--spacing-2xl);max-width:600px}.student-assessment-complete-summary-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.student-assessment-complete-summary-item:last-child{border-bottom:none}.student-assessment-complete-summary-label{font-size:var(--font-size-body);color:var(--color-text-secondary)}.student-assessment-complete-summary-value{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.student-assessment-list{padding:var(--spacing-xl) var(--spacing-3xl) var(--spacing-3xl)}.student-assessment-list-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);flex-wrap:wrap;margin-bottom:var(--spacing-xl)}.student-assessment-list-header--actions-only{justify-content:flex-end;margin-bottom:var(--spacing-xl)}.student-assessment-list-header__subtitle{color:var(--color-text-secondary)}.student-assessment-list-title{font-size:var(--font-size-page-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.student-assessment-stat-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.student-assessment-stat-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);background-color:var(--palette-neutral-100);color:var(--color-text-secondary);white-space:nowrap}.student-assessment-stat-chip strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.student-assessment-stat-chip .material-symbols-outlined{font-size:16px}.student-assessment-stat-chip[data-status=completed]{background-color:var(--palette-success-50);color:var(--color-success)}.student-assessment-stat-chip[data-status=completed] strong{color:var(--color-success)}.student-assessment-stat-chip[data-status=in-progress]{background-color:var(--palette-primary-50);color:var(--color-primary)}.student-assessment-stat-chip[data-status=in-progress] strong{color:var(--color-primary)}.student-assessment-stat-chip[data-status=failed]{background-color:var(--palette-error-50);color:var(--color-error)}.student-assessment-stat-chip[data-status=failed] strong{color:var(--color-error)}.student-assessment-list-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.student-assessment-stat-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2xs);padding:var(--spacing-md);border-radius:var(--radius-md);background-color:var(--palette-neutral-50);border:1px solid var(--color-border)}.student-assessment-stat-value{font-size:var(--font-size-title);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.student-assessment-stat-label{display:flex;align-items:center;gap:var(--spacing-2xs);font-size:var(--font-size-body);color:var(--color-text-secondary)}.student-assessment-stat-label .material-symbols-outlined{font-size:16px}.student-assessment-stat-card[data-intent=success]{border-color:var(--palette-success-200, var(--color-border))}.student-assessment-stat-card[data-intent=success] .student-assessment-stat-value,.student-assessment-stat-card[data-intent=success] .student-assessment-stat-label{color:var(--color-success)}.student-assessment-stat-card[data-intent=info]{border-color:var(--palette-primary-200, var(--color-border))}.student-assessment-stat-card[data-intent=info] .student-assessment-stat-value,.student-assessment-stat-card[data-intent=info] .student-assessment-stat-label{color:var(--color-primary)}.student-assessment-stat-card[data-intent=error]{border-color:var(--palette-error-200, var(--color-border))}.student-assessment-stat-card[data-intent=error] .student-assessment-stat-value,.student-assessment-stat-card[data-intent=error] .student-assessment-stat-label{color:var(--color-error)}.student-assessment-stat-card[data-intent=neutral] .student-assessment-stat-value{color:var(--color-text-primary)}.student-assessment-status-pill{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:4px 12px;border-radius:var(--radius-full);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);white-space:nowrap}.student-assessment-status-pill[data-status=completed]{background-color:var(--palette-success-50);color:var(--color-success)}.student-assessment-status-pill[data-status=in-progress]{background-color:var(--palette-primary-50);color:var(--color-primary)}.student-assessment-status-pill[data-status=processing]{background-color:var(--palette-warning-50, rgba(255,167,38,.12));color:var(--palette-warning-700, #f57c00)}.student-assessment-status-pill[data-status=failed]{background-color:var(--palette-error-50);color:var(--color-error)}.student-assessment-status-pill .material-symbols-outlined{font-size:16px}.student-assessment-score-badge{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-full);font-size:var(--font-size-title);font-weight:var(--font-weight-semibold);color:#fff;flex-shrink:0}.student-assessment-score-badge[data-intent=success]{background-color:var(--color-success)}.student-assessment-score-badge[data-intent=warning]{background-color:var(--palette-warning-500, #ff9800)}.student-assessment-score-badge[data-intent=error]{background-color:var(--color-error)}.student-assessment-score-badge[data-intent=neutral]{background-color:var(--palette-neutral-400)}.student-assessment-list-items{display:flex;flex-direction:column;gap:var(--spacing-md)}.student-assessment-list-item{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg) var(--spacing-xl);display:grid;grid-template-columns:48px 1fr auto;gap:var(--spacing-lg);align-items:center;transition:all .2s ease}.student-assessment-list-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.student-assessment-list-item-content,.student-assessment-list-item-details{display:flex;flex-direction:column;gap:var(--spacing-sm)}.student-assessment-list-item-title{font-size:var(--font-size-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.student-assessment-list-item-info{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.student-assessment-list-item-meta{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-body);color:var(--color-text-secondary)}.student-assessment-list-item-meta .material-symbols-outlined{font-size:18px}.student-assessment-list-item-actions{display:flex;align-items:center;gap:var(--spacing-md)}.student-assessment-results-preview{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:var(--palette-neutral-50);border-radius:var(--radius-md)}.student-assessment-centered{text-align:center;padding:var(--spacing-3xl)}.student-assessment-empty__lead{color:var(--color-text-secondary);max-width:600px;margin:0 auto var(--spacing-xl)}.student-assessment-empty__actions{display:flex;justify-content:center;gap:var(--spacing-md);flex-wrap:wrap}.student-assessment-empty__error{color:var(--color-error);padding:var(--spacing-md);background-color:#ef53501a;border-radius:var(--radius-md);max-width:600px;margin:0 auto var(--spacing-lg)}.student-assessment-results-title{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.student-assessment-results-summary{font-size:var(--font-size-label);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);line-height:1.5}.student-assessment-results-skills{margin-top:var(--spacing-md)}.student-assessment-results-skills-header{display:flex;align-items:center;font-size:var(--font-size-label);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs);color:var(--color-text-primary)}.student-assessment-results-skills-header .material-symbols-outlined{font-size:16px;vertical-align:middle;margin-right:4px}.student-assessment-results-skills-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.student-assessment-results-skills-more{font-size:var(--font-size-label);color:var(--color-text-secondary);padding:var(--spacing-xs)}.student-assessment-latest-badge{margin-left:var(--spacing-sm);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-primary);background-color:var(--palette-primary-50);padding:2px 8px;border-radius:var(--radius-full);vertical-align:middle;text-transform:uppercase;letter-spacing:.5px}.ai-mentor-standalone-wrapper{--aim-radius-pill: 28px;--aim-radius-bubble: 24px;--aim-accent-grad: linear-gradient(135deg, #4285F4 0%, #9B72F5 50%, #D96570 100%);--aim-reading-width: 760px;--aim-conv-rail-width: 280px;display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;width:100%;background:var(--color-surface, #FFFFFF)}.ai-mentor-standalone-wrapper .ai-mentor-page-container{display:grid;grid-template-columns:var(--aim-conv-rail-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:0;min-height:0;flex:1 1 auto;width:100%;background:var(--color-surface, #FFFFFF);overflow:hidden}.ai-mentor-main-content{display:flex;flex-direction:column;min-width:0;min-height:0;background:transparent;border:none;box-shadow:none;padding:0;overflow:hidden}.ai-mentor-conversations-sidebar{display:flex;flex-direction:column;min-height:0;background:var(--color-surface, #FFFFFF);border-right:1px solid var(--color-divider, #E0E0E0);box-shadow:none;padding:0;overflow:hidden}.ai-mentor-conversations-header{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-md) var(--spacing-md)}.ai-mentor-conversations-title{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin:0;padding:0 var(--spacing-xs)}.ai-mentor-new-chat-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px var(--spacing-lg);width:auto;align-self:flex-start;min-height:40px;background:var(--color-primary, #1976D2);color:#fff;border:none;border-radius:var(--aim-radius-pill);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-fast),box-shadow var(--transition-fast);box-shadow:0 1px 2px #1976d23d}.ai-mentor-new-chat-btn:hover:not(:disabled){background:var(--color-primary-dark, #1565C0);box-shadow:0 2px 6px #1976d252}.ai-mentor-new-chat-btn:disabled{opacity:.6;cursor:not-allowed}.ai-mentor-new-chat-btn .material-symbols-outlined{font-size:20px}.ai-mentor-conversations-list{flex:1;min-height:0;overflow-y:auto;padding:var(--spacing-xs) var(--spacing-md) var(--spacing-md);display:flex;flex-direction:column;gap:2px}.ai-mentor-conversations-empty{padding:var(--spacing-md) var(--spacing-xs);color:var(--color-text-hint);font-size:var(--font-size-body);text-align:left}.ai-mentor-conversation-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:8px var(--spacing-md);min-height:36px;background:transparent;border:none;border-radius:var(--aim-radius-pill);cursor:pointer;transition:background-color var(--transition-fast)}.ai-mentor-conversation-item:hover{background:var(--palette-neutral-100)}.ai-mentor-conversation-item.is-active{background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.ai-mentor-conversation-item.is-active .ai-mentor-conversation-title{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.ai-mentor-conversation-body{flex:1;min-width:0}.ai-mentor-conversation-title{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-mentor-conversation-meta{display:none}.ai-mentor-conversation-delete{background:none;border:none;cursor:pointer;padding:4px;color:var(--color-text-hint);border-radius:var(--radius-round);opacity:0;transition:opacity var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.ai-mentor-conversation-item:hover .ai-mentor-conversation-delete,.ai-mentor-conversation-item:focus-within .ai-mentor-conversation-delete{opacity:1}.ai-mentor-conversation-delete:hover{background:var(--palette-neutral-200);color:var(--color-error)}.ai-mentor-conversation-delete .material-symbols-outlined{font-size:18px}@media (max-width: 1024px){.ai-mentor-standalone-wrapper .ai-mentor-page-container{grid-template-columns:minmax(0,1fr)}.ai-mentor-conversations-sidebar{display:none}}.ai-mentor-chat-gpt{display:flex;flex-direction:column;height:100%;min-height:0;width:100%;background:transparent;border:none;box-shadow:none;overflow:hidden}.ai-mentor-chat-gpt.standalone{border-radius:0;box-shadow:none}.ai-mentor-messages-container{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.ai-mentor-messages-wrapper{flex:1;width:100%;max-width:var(--aim-reading-width);margin:0 auto;padding:var(--spacing-lg) var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-xl)}.ai-mentor-message-row{width:100%;padding:0;display:flex;animation:aimFadeIn .25s ease;background:transparent}.ai-mentor-message-row.streaming{animation:none}@keyframes aimFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ai-mentor-message-row.user{justify-content:flex-end;background:transparent}.ai-mentor-message-row.mentor{justify-content:flex-start;background:transparent}.ai-mentor-message-row.user .ai-mentor-message-avatar-gpt{display:none}.ai-mentor-message-row.user .ai-mentor-message-inner{display:block;padding:0;max-width:85%}.ai-mentor-message-row.user .ai-mentor-message-content-gpt{background:color-mix(in srgb,var(--color-primary, #1976D2) 10%,#FFFFFF);color:var(--color-text-primary);border:1px solid color-mix(in srgb,var(--color-primary, #1976D2) 18%,#FFFFFF);border-radius:var(--aim-radius-bubble) var(--radius-sm) var(--aim-radius-bubble) var(--aim-radius-bubble);padding:var(--spacing-md) var(--spacing-lg);box-shadow:0 1px 2px #18191d0a}.ai-mentor-message-row.mentor .ai-mentor-message-inner{display:flex;gap:var(--spacing-md);width:100%;padding:0;max-width:none}.ai-mentor-message-row.mentor .ai-mentor-message-avatar-gpt{width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-round);background-color:#4285f4;background-image:var(--aim-accent-grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;margin-top:2px;box-shadow:0 0 0 1px #18191d0f,var(--shadow-sm)}.ai-mentor-message-row.mentor .ai-mentor-message-avatar-gpt .material-symbols-outlined{font-size:18px}.ai-mentor-message-row.mentor .ai-mentor-message-content-gpt{background:transparent;border:none;border-radius:0;padding:0;flex:1;min-width:0}.ai-mentor-message-text{font-size:15px;line-height:1.7;color:var(--color-text-primary);word-wrap:break-word;white-space:pre-wrap}.ai-mentor-flagged-indicator{margin-bottom:var(--spacing-xs)}.ai-mentor-message-actions{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-sm);opacity:0;transition:opacity var(--transition-base)}.ai-mentor-message-row:hover .ai-mentor-message-actions,.ai-mentor-message-row:focus-within .ai-mentor-message-actions{opacity:1}.ai-mentor-action-button{width:32px;height:32px;background:transparent;border:none;border-radius:var(--radius-round);color:var(--color-text-hint);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast),color var(--transition-fast);font-size:18px}.ai-mentor-action-button:hover:not(:disabled){background:var(--palette-neutral-100);color:var(--color-text-primary)}.ai-mentor-action-button:disabled{opacity:.5;cursor:not-allowed}.ai-mentor-typing-indicator-gpt{display:inline-flex;align-items:center;gap:6px;padding:var(--spacing-xs) 0}.ai-mentor-typing-continuation{width:100%;padding:0;display:flex;background:transparent}.ai-mentor-typing-indicator-inline{display:inline-flex;align-items:center;gap:6px;padding:var(--spacing-xs) 0;margin-left:48px}.ai-mentor-typing-dot{width:8px;height:8px;background-color:var(--color-text-hint);border-radius:var(--radius-round);animation:aimTypingBounce 1.4s ease-in-out infinite}.ai-mentor-typing-dot:nth-child(2){animation-delay:.2s}.ai-mentor-typing-dot:nth-child(3){animation-delay:.4s}@keyframes aimTypingBounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.ai-mentor-loading-more{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) 0;width:100%}.ai-mentor-loading-text{font-size:var(--font-size-caption);color:var(--color-text-hint)}.ai-mentor-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;max-width:var(--aim-reading-width);margin:0 auto;padding:clamp(80px,14vh,160px) var(--spacing-xl) var(--spacing-xl);text-align:center;flex:1;gap:var(--spacing-sm)}.ai-mentor-empty-state-icon{font-size:64px;background:var(--aim-accent-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;margin-bottom:var(--spacing-xs)}.ai-mentor-empty-state-title{font-family:"Plus Jakarta Sans","Inter",var(--font-family-sans);font-size:clamp(32px,4vw,48px);font-weight:700;line-height:1.1;margin:0;background:var(--aim-accent-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.ai-mentor-empty-state-subtitle{font-size:var(--font-size-subtitle);color:var(--color-text-secondary);max-width:560px;margin:0;line-height:1.5}.ai-mentor-empty-state-text{color:var(--color-text-hint);font-size:var(--font-size-label);margin:var(--spacing-xs) 0 0}.ai-mentor-input-container{padding:var(--spacing-md) var(--spacing-xl) var(--spacing-lg);background:transparent;border-top:none;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.ai-mentor-input-wrapper{width:100%;max-width:var(--aim-reading-width);position:relative;display:flex;align-items:flex-end;gap:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--aim-radius-pill);padding:8px 8px 8px var(--spacing-lg);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ai-mentor-chat-gpt.standalone .ai-mentor-input-wrapper{max-width:var(--aim-reading-width)}.ai-mentor-input-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 2px 12px #1976d21f}.ai-mentor-input-gpt{flex:1;min-width:0;padding:10px 0;font-size:15px;font-family:var(--font-family-sans);color:var(--color-text-primary);background-color:transparent;border:none;resize:none;max-height:200px;outline:none;line-height:1.5}.ai-mentor-input-gpt::placeholder{color:var(--color-text-hint)}.ai-mentor-send-button-gpt{width:40px;height:40px;flex-shrink:0;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius-round);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);font-size:20px;box-shadow:var(--shadow-sm)}.ai-mentor-send-button-gpt:hover:not(:disabled){background:var(--palette-blue-700);transform:translateY(-1px);box-shadow:var(--shadow-md)}.ai-mentor-send-button-gpt:disabled{opacity:.4;cursor:not-allowed;background:var(--palette-neutral-300);box-shadow:none}.ai-mentor-input-help,.ai-mentor-input-hint{text-align:center;font-size:var(--font-size-caption);color:var(--color-text-hint);margin:0;line-height:1.3}.ai-mentor-new-conversation-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:2px var(--spacing-sm);font-size:var(--font-size-caption);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.ai-mentor-new-conversation-btn:hover:not(:disabled){color:var(--color-primary);border-color:var(--color-primary)}.ai-mentor-new-conversation-btn:disabled{opacity:.5;cursor:not-allowed}.ai-mentor-fab{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);width:64px;height:64px;background:linear-gradient(135deg,#10a37f,#0d8a6b);color:var(--color-on-primary);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:28px;transition:all .2s ease;z-index:999}.ai-mentor-fab:hover{transform:scale(1.05);box-shadow:var(--shadow-xl)}.user-profile{padding:var(--spacing-3xl);max-width:800px;margin:0 auto}.profile-stack{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--spacing-lg);align-items:start}.profile-stack>.ds-card{margin-bottom:0}.profile-stack>.ds-card{grid-column:1 / -1}.profile-stack>[data-area=identity]{grid-column:1 / -1}.profile-stack>[data-area=personal]{grid-column:1 / span 7}.profile-stack>[data-area=security]{grid-column:8 / span 5}.profile-stack>[data-area=notifications]{grid-column:1 / span 6}.profile-stack>[data-area=privacy]{grid-column:7 / span 6}.profile-stack>[data-area=career]{grid-column:1 / span 7}.profile-stack>[data-area=account]{grid-column:8 / span 5}@media (max-width: 899px){.profile-stack>[data-area]{grid-column:1 / -1}}.user-profile-header{display:flex;align-items:center;gap:var(--spacing-xl);margin-bottom:0}.user-profile-header--compact{gap:var(--spacing-lg);margin-bottom:0}.user-profile-header--compact{padding:var(--spacing-lg)}.user-profile-header--compact .user-profile-avatar{width:48px;height:48px;font-size:18px}.user-profile-header--compact .user-profile-title{font-size:var(--font-size-section-title);margin-bottom:2px}.user-profile-header--compact .user-profile-email{margin-bottom:var(--spacing-xs)}.user-profile-avatar{width:96px;height:96px;border-radius:var(--radius-full);background-color:var(--color-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:var(--font-weight-semibold);flex-shrink:0;letter-spacing:1px}.user-profile-title{font-size:var(--font-size-page-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.user-profile-section{margin-bottom:0;padding:var(--spacing-lg)}.user-profile-section .user-profile-section-title{margin-bottom:var(--spacing-sm);font-size:18px}.user-profile-section-heading,.user-profile-section-intro{margin-bottom:var(--spacing-md)}.user-profile-section .user-profile-info-grid{gap:var(--spacing-md)}.user-profile-notif-list,.user-profile-privacy-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.user-profile-notif-item,.user-profile-privacy-row{padding:var(--spacing-sm) 0}.user-profile-section-title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.user-profile-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.user-profile-info-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.user-profile-info-label{font-size:var(--font-size-label);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.user-profile-info-value{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.user-profile-email{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.user-profile-role-chip{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background-color:var(--color-primary-container);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);text-transform:capitalize}.user-profile-alert{margin:var(--spacing-xl) auto;max-width:800px}.user-profile-section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg)}.user-profile-section-desc{color:var(--color-text-secondary);font-size:var(--font-size-label)}.user-profile-section-desc--block{margin-bottom:var(--spacing-md)}.user-profile-section-intro{margin-bottom:var(--spacing-lg)}.user-profile-button-row{display:flex;gap:var(--spacing-sm)}.user-profile-input{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-body);font-family:inherit;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.user-profile-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1976d21f}.user-profile-input--select{background-color:var(--color-surface)}.user-profile-summary{cursor:pointer;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) 0;-webkit-user-select:none;user-select:none}.user-profile-summary--muted{font-size:var(--font-size-label);color:var(--color-text-secondary);font-weight:var(--font-weight-regular)}.user-profile-grid--mt,.user-profile-submit-btn{margin-top:var(--spacing-md)}.user-profile-2fa-row{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md) 0;border-top:1px solid var(--color-border);margin-top:var(--spacing-md)}.user-profile-2fa-label{flex:1;font-size:var(--font-size-body);color:var(--color-text-secondary)}.user-profile-loading{padding:var(--spacing-md);color:var(--color-text-secondary)}.user-profile-notif-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.user-profile-notif-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer}.user-profile-notif-label{flex:1;font-size:var(--font-size-body)}.user-profile-notif-checkbox{width:18px;height:18px;accent-color:var(--color-primary)}.user-profile-privacy-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.user-profile-privacy-row{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) 0}.user-profile-privacy-row+.user-profile-privacy-row{border-top:1px solid var(--color-border)}.user-profile-privacy-label{flex:1;font-size:var(--font-size-body);color:var(--color-text-secondary)}.user-profile-delete-confirm{display:flex;gap:var(--spacing-xs);align-items:center;flex-wrap:wrap}.user-profile-delete-warning{font-size:var(--font-size-caption);color:var(--color-error)}.user-profile-support-details{margin-top:var(--spacing-lg)}.user-profile-userid-item{margin-top:var(--spacing-sm)}.user-profile-userid-value{font-size:var(--font-size-label);font-family:monospace;-webkit-user-select:all;user-select:all}.user-profile-ai-usage-item{grid-column:span 2}.user-profile-ai-usage-card{background-color:var(--palette-neutral-50);padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);margin-top:var(--spacing-sm)}.user-profile-ai-usage-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--spacing-md)}.user-profile-ai-usage-title{font-size:var(--font-size-body);font-weight:var(--font-weight-medium)}.user-profile-ai-usage-meta{font-size:var(--font-size-label);color:var(--color-text-secondary)}.user-profile-ai-usage-bar{height:8px;background-color:var(--palette-neutral-200);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--spacing-md)}.user-profile-ai-usage-bar-fill{height:100%;background-color:var(--color-primary);transition:width .5s ease-out}.user-profile-ai-usage-bar-fill[data-intent=warning]{background-color:var(--color-warning)}.user-profile-ai-usage-bar-fill[data-intent=danger]{background-color:var(--color-error)}.user-profile-ai-usage-footer{display:flex;justify-content:space-between;font-size:var(--font-size-label);color:var(--color-text-secondary)}.user-profile-ai-usage-details{display:inline}.user-profile-ai-usage-details-summary{cursor:pointer;font-size:var(--font-size-caption)}.user-profile-ai-usage-details-value{font-family:monospace;font-size:var(--font-size-caption)}.job-role-switcher{padding:var(--spacing-xl);background-color:var(--palette-blue-50);border:1px solid var(--palette-blue-200);border-radius:var(--radius-md)}.job-role-switcher-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.job-role-switcher-icon{width:40px;height:40px;background-color:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:20px}.job-role-switcher-title{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.job-role-switcher-current{padding:var(--spacing-md);background-color:var(--color-surface);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md)}.job-role-switcher-current-label{font-size:var(--font-size-label);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.job-role-switcher-current-value{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-primary)}.job-role-switcher-actions{display:flex;justify-content:flex-end}.career-switcher-alert{margin-bottom:var(--spacing-lg)}.career-switcher-summary,.career-switcher-form,.career-switcher-confirmation{display:flex;flex-direction:column;gap:var(--spacing-lg)}.career-switcher-field{display:flex;flex-direction:column;gap:var(--spacing-sm)}.career-switcher-label{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.career-switcher-current{display:inline-flex;align-items:baseline;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--palette-neutral-50);border-radius:var(--radius-md);font-size:1.125rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary);flex-wrap:wrap}.career-switcher-current__title{color:var(--color-text-primary)}.career-switcher-current__separator{color:var(--color-text-secondary)}.career-switcher-current__seniority{color:var(--color-primary);text-transform:capitalize}.career-switcher-help{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-label);line-height:var(--line-height-relaxed)}.career-switcher-loading{padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary)}.career-switcher-select{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-body);font-family:inherit;background-color:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.career-switcher-select:hover{border-color:var(--palette-neutral-400)}.career-switcher-select:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--palette-blue-200, var(--color-primary))}.career-switcher-role-details{padding:var(--spacing-lg);background-color:var(--palette-blue-50);border-left:3px solid var(--color-primary);border-radius:var(--radius-md)}.career-switcher-role-details__title{display:flex;align-items:center;gap:var(--spacing-xs);margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-primary);text-transform:uppercase;letter-spacing:.04em}.career-switcher-role-details__body{font-size:var(--font-size-label);color:var(--color-text-primary);line-height:var(--line-height-relaxed)}.career-switcher-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.career-switcher-confirm-card{padding:var(--spacing-lg);background-color:var(--palette-warning-50, var(--palette-amber-50, #fff8e1));border:1px solid var(--palette-warning-300, var(--palette-amber-300, #ffcc80));border-left:3px solid var(--palette-warning-500, var(--palette-amber-500, #ffa000));border-radius:var(--radius-md)}.career-switcher-confirm-title{display:flex;align-items:center;gap:var(--spacing-xs);margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-heading-sm, 1.125rem);color:var(--palette-warning-700, var(--palette-amber-700, #e65100))}.career-switcher-confirm-lead{margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary)}.career-switcher-diff{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.career-switcher-diff__row{display:flex;align-items:baseline;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-surface);border-radius:var(--radius-sm);flex-wrap:wrap}.career-switcher-diff__label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);min-width:72px}.career-switcher-diff__value{color:var(--color-text-primary);text-transform:capitalize}.career-switcher-diff__value--new{color:var(--color-primary);font-weight:var(--font-weight-medium)}.career-switcher-confirm-warning{margin:0;font-size:var(--font-size-label);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.markdown-content{font-size:var(--font-size-body);color:var(--color-text-primary);line-height:1.7}.markdown-content h1{font-size:32px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-lg);margin-top:var(--spacing-2xl)}.markdown-content h2{font-size:24px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-md);margin-top:var(--spacing-xl)}.markdown-content h3{font-size:20px;font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);margin-top:var(--spacing-lg)}.markdown-content p{margin-bottom:var(--spacing-md)}.markdown-content ul,.markdown-content ol{margin-bottom:var(--spacing-md);padding-left:var(--spacing-xl)}.markdown-content li{margin-bottom:var(--spacing-xs)}.markdown-content code{padding:2px 6px;background-color:var(--palette-neutral-100);border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em;color:var(--palette-pink-700)}.markdown-content pre{background-color:var(--palette-neutral-900);border-radius:var(--radius-md);padding:var(--spacing-lg);overflow-x:auto;margin-bottom:var(--spacing-md)}.markdown-content pre code{background:none;padding:0;color:var(--palette-neutral-50);font-size:14px}.markdown-content blockquote{border-left:4px solid var(--color-primary);padding-left:var(--spacing-lg);margin:var(--spacing-lg) 0;color:var(--color-text-secondary);font-style:italic}.markdown-content a{color:var(--color-primary);text-decoration:none;transition:color .2s ease}.markdown-content a:hover{color:var(--palette-blue-700);text-decoration:underline}.markdown-content .markdown-table-wrap{overflow-x:auto;margin-bottom:var(--spacing-md)}.markdown-content table{width:100%;border-collapse:collapse;margin-bottom:0}.markdown-content .markdown-code-block{border-radius:var(--radius-md);margin:var(--spacing-md) 0;font-size:14px;line-height:1.5}.markdown-content th,.markdown-content td{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);text-align:left}.markdown-content th{background-color:var(--palette-neutral-100);font-weight:var(--font-weight-medium)}@media (max-width: 1200px){.student-current-module-content{flex-direction:column;align-items:flex-start}.student-current-module-progress{width:100%;justify-content:space-between}.student-current-module-stats{flex-direction:row;gap:var(--spacing-xl)}}@media (max-width: 1024px){.student-dashboard-grid{grid-template-columns:1fr}.student-dashboard-sidebar{position:static}.job-role-content{grid-template-columns:1fr}.job-role-list-panel{border-right:none;border-bottom:1px solid var(--color-border)}.module-learning{grid-template-columns:1fr}.module-learning-sidebar{border-right:none;border-bottom:1px solid var(--color-border)}}@media (max-width: 768px){.student-dashboard,.student-roadmap,.student-assessment,.student-assessment-list,.user-profile,.module-learning-content{padding:var(--spacing-lg)}.job-role-hero-title,.job-role-header-compact-title,.student-dashboard-welcome,.student-roadmap-title,.student-assessment-list-title{font-size:28px}.student-current-module-content{flex-direction:column;align-items:flex-start}.student-current-module-progress{width:100%;justify-content:space-between}.student-current-module-stats{flex-direction:row;gap:var(--spacing-xl)}.ai-mentor-chat{width:100%;max-width:calc(100vw - var(--spacing-xl) * 2);bottom:var(--spacing-md);right:var(--spacing-md)}.ai-mentor-fab{bottom:var(--spacing-md);right:var(--spacing-md)}.user-profile-info-grid{grid-template-columns:1fr}.student-assessment-list-item{grid-template-columns:48px 1fr;gap:var(--spacing-md)}.student-assessment-list-item-actions{grid-column:1 / -1;border-top:1px solid var(--color-border);padding-top:var(--spacing-md);flex-wrap:wrap}}.assessment-chat-wrapper{display:flex;flex-direction:row}.assessment-scope-sidebar{width:320px;background-color:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;height:100%;overflow-y:auto}.assessment-scope-breadcrumb{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.assessment-scope-breadcrumb .material-symbols-outlined{font-size:20px;color:var(--color-primary)}.assessment-scope-content{padding:var(--spacing-lg);flex:1;display:flex;flex-direction:column;gap:var(--spacing-lg)}.assessment-scope-item{display:flex;flex-direction:column;gap:var(--spacing-sm)}.assessment-scope-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.assessment-scope-label .material-symbols-outlined{font-size:18px}.assessment-scope-value{font-size:var(--font-size-body);color:var(--color-text-primary);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--palette-neutral-50);border-radius:var(--radius-sm);border-left:3px solid transparent}.assessment-scope-skills{display:flex;flex-direction:column;gap:var(--spacing-xs)}.assessment-scope-skill-tag{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-primary-container);color:var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-size-label);font-weight:var(--font-weight-medium)}.assessment-scope-skill-more{font-size:var(--font-size-label);color:var(--color-text-secondary);font-style:italic}.assessment-scope-required-skills{display:flex;flex-direction:column;gap:var(--spacing-sm)}.assessment-scope-required-skill{display:flex;flex-direction:column;gap:4px;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--palette-neutral-50);border-radius:var(--radius-sm);border-left:3px solid transparent;transition:background-color .2s,border-left-color .2s;min-width:0}.assessment-scope-required-skill-active-icon{font-size:16px!important;margin-right:4px;vertical-align:middle;color:var(--color-primary);flex-shrink:0}.assessment-scope-required-skill-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assessment-scope-required-skill-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);min-width:0}.assessment-scope-skill-date{font-size:var(--font-size-caption);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assessment-scope-required-skill.is-active{background-color:#1976d214;border-left-color:var(--color-primary);animation:assessment-scope-active-pulse 1.8s ease-in-out infinite}.assessment-scope-required-skill.is-active .assessment-scope-required-skill-name{color:var(--color-primary);font-weight:var(--font-weight-semibold, 600)}@keyframes assessment-scope-active-pulse{0%,to{background-color:#1976d214;box-shadow:0 0 #1976d200}50%{background-color:#1976d229;box-shadow:0 0 0 3px #1976d22e}}@media (prefers-reduced-motion: reduce){.assessment-scope-required-skill.is-active{animation:none}}.assessment-scope-required-skill-name{display:flex;align-items:center;font-size:var(--font-size-caption);color:var(--color-text-primary);font-weight:var(--font-weight-medium);min-width:0}.assessment-scope-skill-level{font-size:var(--font-size-caption);padding:2px var(--spacing-xs);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium);text-transform:capitalize;white-space:nowrap;display:inline-flex;align-items:baseline;gap:4px}.assessment-scope-skill-level-label{text-transform:uppercase;letter-spacing:.4px;font-weight:var(--font-weight-semibold, 600);font-size:10px;opacity:.8}.assessment-scope-skill-level-value{text-transform:capitalize}.assessment-scope-skill-level.level-notAssessed{background-color:var(--palette-neutral-100);color:var(--color-text-secondary)}.assessment-scope-skill-level.level-novice{background-color:#9c27b01a;color:#9c27b0}.assessment-scope-skill-level.level-advanced{background-color:#2196f31a;color:#2196f3}.assessment-scope-skill-level.level-competent{background-color:#ff98001a;color:#ff9800}.assessment-scope-skill-level.level-proficient{background-color:#4caf501a;color:#4caf50}.assessment-scope-skill-level.level-expert{background-color:#e91e631a;color:#e91e63}.assessment-scope-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-sm);background-color:var(--palette-neutral-50)}.assessment-scope-footer .material-symbols-outlined{font-size:20px;color:var(--color-text-secondary);flex-shrink:0;margin-top:2px}.assessment-scope-footer p{font-size:var(--font-size-caption);color:var(--color-text-secondary);margin:0;line-height:1.5}@media (max-width: 1024px){.assessment-scope-sidebar{width:280px}}@media (max-width: 768px){.assessment-chat-wrapper{flex-direction:column}.assessment-scope-sidebar{width:100%;height:auto;max-height:200px;border-right:none;border-bottom:1px solid var(--color-border)}.assessment-scope-content{flex-direction:row;overflow-x:auto}.assessment-scope-item{min-width:200px}}.ai-mentor-flagged-indicator{margin-bottom:var(--spacing-sm)}.ds-badge.ds-badge-with-icon{gap:var(--spacing-xs)}.ds-badge.ds-badge-with-icon .material-symbols-outlined{font-size:16px}.ai-mentor-message-row.flagged .ai-mentor-message-content-gpt{border-left:3px solid var(--palette-amber-500);padding-left:var(--spacing-md)}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:var(--spacing-3xl);gap:var(--spacing-lg)}.dashboard-loading p{font-size:var(--font-size-body);color:var(--color-text-secondary);margin:0}.spinner-large{width:64px;height:64px;border:6px solid var(--palette-neutral-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.roadmap-loader__spinner{animation:spin 1s linear infinite;margin-bottom:var(--spacing-lg)}.roadmap-empty__icon{margin-bottom:var(--spacing-md)}.dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:var(--spacing-3xl);gap:var(--spacing-lg);text-align:center}.dashboard-error .error-icon{font-size:64px;margin-bottom:var(--spacing-md)}.dashboard-error h2{font-size:var(--font-size-title);color:var(--color-text-primary);margin:0}.dashboard-error p{font-size:var(--font-size-body);color:var(--color-text-secondary);max-width:500px;margin:0}.onboarding-welcome{display:flex;align-items:center;justify-content:center;min-height:80vh;padding:var(--spacing-3xl)}.welcome-card{background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-3xl);max-width:600px;text-align:center;display:flex;flex-direction:column;gap:var(--spacing-xl)}.welcome-icon{font-size:80px;margin-bottom:var(--spacing-md)}.welcome-title{font-size:var(--font-size-display);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-tight)}.welcome-text{font-size:var(--font-size-body);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.welcome-card .btn-primary{align-self:center;padding:var(--spacing-md) var(--spacing-3xl);font-size:var(--font-size-subtitle);min-width:200px}.quick-chat-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background-color:var(--color-primary);color:var(--color-on-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);z-index:900;transition:transform var(--transition-base),box-shadow var(--transition-base)}.quick-chat-fab:hover{transform:scale(1.08);box-shadow:var(--shadow-xl)}.quick-chat-fab:active{transform:scale(.95)}.quick-chat-fab .material-symbols-outlined{font-size:28px}.quick-chat-popup{position:fixed;bottom:24px;right:24px;width:420px;height:520px;background-color:var(--color-surface);border-radius:16px;box-shadow:var(--shadow-xl);z-index:900;display:flex;flex-direction:column;overflow:hidden;animation:quickChatSlideUp .25s ease-out}@keyframes quickChatSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.quick-chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-primary);color:var(--color-on-primary);flex-shrink:0}.quick-chat-header-title{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-semibold);font-size:var(--font-size-body)}.quick-chat-header-title .material-symbols-outlined{font-size:22px}.quick-chat-close{background:none;border:none;color:var(--color-on-primary);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-base)}.quick-chat-close:hover{background-color:#ffffff26}.quick-chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.quick-chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--color-text-tertiary);gap:var(--spacing-sm);text-align:center;padding:var(--spacing-xl)}.quick-chat-empty .material-symbols-outlined{font-size:40px;opacity:.4}.quick-chat-empty p{margin:0;font-size:var(--font-size-small)}.quick-chat-message{max-width:85%;padding:var(--spacing-sm) var(--spacing-md);border-radius:12px;font-size:var(--font-size-small);line-height:var(--line-height-relaxed);word-break:break-word}.quick-chat-message.user{align-self:flex-end;background-color:var(--color-primary);color:var(--color-on-primary);border-bottom-right-radius:4px}.quick-chat-message.mentor{align-self:flex-start;background-color:var(--color-surface-variant);color:var(--color-text-primary);border-bottom-left-radius:4px}.quick-chat-message.mentor .quick-chat-markdown{font-size:var(--font-size-small)}.quick-chat-message.mentor .quick-chat-markdown .markdown-paragraph{margin:0 0 var(--spacing-xs) 0}.quick-chat-message.mentor .quick-chat-markdown .markdown-paragraph:last-child{margin-bottom:0}.quick-chat-message.mentor .quick-chat-markdown .markdown-list{margin:var(--spacing-xs) 0;padding-left:var(--spacing-lg)}.quick-chat-message.mentor .quick-chat-markdown .markdown-code-inline{font-size:12px;padding:1px 4px;background-color:#0000000f;border-radius:3px}.quick-chat-message.mentor .quick-chat-markdown .markdown-code-block{font-size:12px;margin:var(--spacing-xs) 0;padding:var(--spacing-sm);border-radius:var(--radius-sm);overflow-x:auto}.quick-chat-typing{display:flex;gap:4px;padding:4px 0}.quick-chat-typing-dot{width:6px;height:6px;border-radius:50%;background-color:var(--color-text-tertiary);animation:quickChatBounce 1.4s ease-in-out infinite}.quick-chat-typing-dot:nth-child(2){animation-delay:.2s}.quick-chat-typing-dot:nth-child(3){animation-delay:.4s}@keyframes quickChatBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.quick-chat-input{display:flex;align-items:flex-end;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border);flex-shrink:0}.quick-chat-input textarea{flex:1;resize:none;border:1px solid var(--color-border);border-radius:12px;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family-sans);font-size:var(--font-size-small);line-height:var(--line-height-normal);background-color:var(--color-surface);color:var(--color-text-primary);outline:none;max-height:120px;transition:border-color var(--transition-base)}.quick-chat-input textarea:focus{border-color:var(--color-primary)}.quick-chat-input textarea::placeholder{color:var(--color-text-tertiary)}.quick-chat-send{width:36px;height:36px;border-radius:50%;background-color:var(--color-primary);color:var(--color-on-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity var(--transition-base)}.quick-chat-send:disabled{opacity:.4;cursor:not-allowed}.quick-chat-send .material-symbols-outlined{font-size:20px}.quick-chat-footer{display:flex;padding:var(--spacing-xs) var(--spacing-md) var(--spacing-sm);flex-shrink:0}.quick-chat-full-link{display:flex;align-items:center;gap:6px;background-color:#1976d214;border:1px solid rgba(25,118,210,.2);color:var(--color-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);cursor:pointer;padding:6px 16px;border-radius:var(--radius-round);transition:all var(--transition-base);width:100%;justify-content:center}.quick-chat-full-link:hover{background-color:#1976d224;border-color:var(--color-primary)}.quick-chat-full-link .material-symbols-outlined{font-size:16px}@media (max-width: 600px){.quick-chat-popup{width:calc(100vw - 32px);height:calc(100vh - 120px);bottom:16px;right:16px}.quick-chat-fab{bottom:16px;right:16px}}.module-source-card{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);height:100%;transition:all .2s ease;align-items:flex-start;cursor:default}.module-source-card-content{display:flex;flex-direction:column;overflow:hidden;width:100%}.module-source-card-text{font-weight:500;font-size:var(--font-size-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;transition:max-height .3s ease;cursor:text;-webkit-user-select:text;user-select:text}.module-source-card:hover .module-source-card-text{white-space:normal;word-break:break-word;overflow:visible}.student-dashboard-v2{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--spacing-lg);padding:var(--spacing-lg)}.student-dashboard-v2>[data-area=kpi-continue]{grid-column:1 / span 3;order:1}.student-dashboard-v2>[data-area=kpi-progress]{grid-column:4 / span 3;order:2}.student-dashboard-v2>[data-area=kpi-streak]{grid-column:7 / span 3;order:3}.student-dashboard-v2>[data-area=kpi-skills]{grid-column:10 / span 3;order:4}.student-dashboard-v2>[data-area=trend]{grid-column:1 / span 7;order:5}.student-dashboard-v2>[data-area=accuracy]{grid-column:8 / span 5;order:6}.student-dashboard-v2>[data-area=gaps]{grid-column:1 / -1;order:7}.student-dashboard-v2>[data-area=upcoming]{grid-column:1 / -1;order:8}.student-dashboard-v2>[data-area=heatmap]{grid-column:1 / -1;order:9}@media (max-width: 1439px){.student-dashboard-v2>[data-area^=kpi-]{grid-column:span 6}}@media (max-width: 1023px){.student-dashboard-v2>[data-area]{grid-column:1 / -1}}@media (max-width: 599px){.student-dashboard-v2{padding:var(--spacing-md);gap:var(--spacing-md)}}.student-metric-card{display:flex;flex-direction:column;height:100%;margin-bottom:0;padding:var(--spacing-lg);gap:var(--spacing-md)}.student-metric-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);min-height:28px}.student-metric-card__title{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em}.student-metric-card__title .material-symbols-outlined{font-size:20px;color:var(--color-text-secondary)}.student-metric-card__heading{margin:0;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.student-metric-card__actions{display:flex;align-items:center;gap:var(--spacing-sm)}.student-metric-card__caption{margin:0;font-size:var(--font-size-caption);color:var(--color-text-secondary)}.student-metric-card__body{display:flex;flex-direction:column;gap:var(--spacing-md);flex:1;min-height:0}.student-metric-card__loading{display:flex;flex-direction:column;gap:var(--spacing-sm)}.student-metric-card__error{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-error-surface, rgba(244, 67, 54, .08));color:var(--color-error);border-radius:var(--radius-sm);font-size:var(--font-size-body)}.student-kpi-tile-wrapper{display:block}.student-kpi-tile{min-height:160px}.student-kpi-tile .student-metric-card__body{justify-content:space-between}.student-kpi-tile__value{display:flex;align-items:center;justify-content:flex-start;min-height:48px}.student-kpi-tile__caption{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.student-kpi-tile__footer{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:auto}.student-kpi-tile__headline{font-size:var(--font-size-title);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.student-kpi-tile__number{display:flex;align-items:baseline;gap:var(--spacing-xs);font-size:40px;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1}.student-kpi-tile__number-unit{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:lowercase}.student-kpi-tile__ratio{font-size:26px;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1;display:inline-flex;align-items:baseline;white-space:nowrap}.student-kpi-tile__ratio-sep{color:var(--color-text-hint);margin:0 2px;font-weight:var(--font-weight-medium)}.student-kpi-tile__cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);width:100%}.student-kpi-tile__link{font-size:var(--font-size-caption);color:var(--color-primary);text-decoration:none}.student-kpi-tile__link:hover{text-decoration:underline}.student-skill-progress{height:6px;background-color:var(--color-divider);border-radius:var(--radius-sm);overflow:hidden}.student-skill-progress__fill{height:100%;background-color:var(--color-success);width:var(--student-skill-progress-fill, 0%);transition:width var(--transition-base)}.student-skill-gaps-footer{display:flex;justify-content:stretch;margin-top:var(--spacing-md)}.student-skill-gaps-footer .ds-btn{width:100%;justify-content:center}.student-upcoming-strip{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.student-upcoming-strip__item{display:block}.student-upcoming-strip__link{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);text-decoration:none;color:var(--color-text-primary);transition:border-color var(--transition-base),background-color var(--transition-base)}.student-upcoming-strip__link:hover{border-color:var(--color-primary);background-color:var(--color-primary-surface, rgba(25, 118, 210, .04))}.student-upcoming-strip__title{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.student-upcoming-strip__meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);font-size:var(--font-size-caption);color:var(--color-text-secondary)}.student-upcoming-strip__meta-item{display:inline-flex;align-items:center;gap:4px}.student-upcoming-strip__meta-item .material-symbols-outlined{font-size:16px}.student-upcoming-strip__meta-locked{color:var(--color-text-hint)}.student-trend-chart{width:100%;min-height:260px}.student-trend-chart .recharts-surface{overflow:visible}.student-trend-tooltip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:10px 12px;box-shadow:var(--shadow-sm);font-size:var(--font-size-small);color:var(--color-text-primary);min-width:180px}.student-trend-tooltip__header{font-weight:var(--font-weight-bold);margin-bottom:4px}.student-trend-tooltip__avg{color:var(--color-primary);margin-bottom:6px}.student-trend-tooltip__skills{list-style:none;padding:0;margin:0}.student-trend-tooltip__skill{display:flex;justify-content:space-between;gap:12px;padding:2px 0;color:var(--color-text-secondary)}.student-trend-tooltip__score{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.student-trend-tooltip__more{margin-top:4px;font-style:italic;color:var(--color-text-hint)}.student-accuracy-gauge{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}.student-accuracy-gauge__score{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.student-accuracy-gauge__score-caption{margin:0;font-size:var(--font-size-caption);color:var(--color-text-secondary);text-align:center}.student-accuracy-gauge__breakdown{min-width:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.student-accuracy-gauge__breakdown-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.student-accuracy-gauge__breakdown-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.student-accuracy-gauge__legend{display:flex;gap:var(--spacing-md)}.student-accuracy-gauge__legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-secondary)}.student-accuracy-breakdown{width:100%}.student-accuracy-breakdown__swatch{display:inline-block;width:10px;height:10px;border-radius:2px}.student-accuracy-breakdown__swatch--correct{background:var(--color-success)}.student-accuracy-breakdown__swatch--incorrect{background:var(--palette-neutral-300)}.student-accuracy-breakdown__tooltip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:12px;color:var(--color-text-primary);min-width:140px}.student-accuracy-breakdown__tooltip-date{font-weight:var(--font-weight-semibold);margin-bottom:4px;font-size:12px;color:var(--color-text-primary)}.student-accuracy-breakdown__tooltip-row{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:8px;padding:2px 0}.student-accuracy-breakdown__tooltip-row strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.student-accuracy-breakdown__tooltip-pct{margin-top:4px;padding-top:4px;border-top:1px solid var(--color-border);font-size:11px;color:var(--color-text-secondary);text-align:right}@media (max-width: 767px){.student-accuracy-gauge{grid-template-columns:1fr;justify-items:center;text-align:center}.student-accuracy-gauge__breakdown{width:100%}}.student-trend-sparkline{width:100%;height:var(--student-trend-sparkline-height, 60px)}.student-heatmap{--student-heatmap-gap: 3px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-template-rows:repeat(7,1fr);gap:var(--student-heatmap-gap);padding:var(--spacing-xs) 0;width:100%;aspect-ratio:calc(var(--student-heatmap-weeks, 52) / 7);max-height:160px}.student-heatmap__week{display:contents}.student-heatmap__cell{width:100%;height:100%;min-width:0;min-height:0;border-radius:2px;background:#ebedf0;outline:1px solid rgba(27,31,35,.06);outline-offset:-1px;transition:transform var(--transition-fast)}.student-heatmap__cell:hover{transform:scale(1.35)}.student-heatmap__cell--l0{background:#ebedf0}.student-heatmap__cell--l1{background:#9be9a8}.student-heatmap__cell--l2{background:#40c463}.student-heatmap__cell--l3{background:#30a14e}.student-heatmap__cell--l4{background:#216e39}.student-heatmap--placeholder{opacity:.5}.student-skill-bar{width:var(--skill-bar-width, 100%);margin:4px 0 8px}.student-skill-bar__segments{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.student-skill-bar__segment{position:relative;height:24px;border-radius:var(--radius-sm);background:var(--palette-neutral-100);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;transition:background var(--transition-base),border-color var(--transition-base)}.student-skill-bar__segment--filled{background:var(--color-primary);border-color:var(--color-primary)}.student-skill-bar--met .student-skill-bar__segment--filled{background:var(--color-success);border-color:var(--color-success)}.student-skill-bar__segment--target:not(.student-skill-bar__segment--filled){border:1.5px dashed var(--color-primary);background:color-mix(in srgb,var(--color-primary) 6%,transparent)}.student-skill-bar--met .student-skill-bar__segment--target{box-shadow:inset 0 0 0 1.5px var(--color-success)}.student-skill-bar__segment-index{font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-family:var(--font-family-sans);line-height:1}.student-skill-bar__segment--filled .student-skill-bar__segment-index{color:var(--color-on-primary)}.student-upcoming-roadmap__view-all{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-primary);text-decoration:none}.student-upcoming-roadmap__view-all:hover{text-decoration:underline}.student-upcoming-roadmap__view-all .material-symbols-outlined{font-size:16px}.student-upcoming-strip-wrapper{position:relative;display:flex;align-items:stretch;gap:var(--spacing-xs)}.student-upcoming-strip__scroll-btn{flex:0 0 auto;align-self:center;width:32px;height:32px;border-radius:50%;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast, .12s) ease,color var(--transition-fast, .12s) ease,border-color var(--transition-fast, .12s) ease,opacity var(--transition-fast, .12s) ease;box-shadow:var(--shadow-sm);z-index:2}.student-upcoming-strip__scroll-btn .material-symbols-outlined{font-size:20px}.student-upcoming-strip__scroll-btn:not(:disabled):hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.student-upcoming-strip__scroll-btn:disabled{opacity:.35;cursor:default}.student-upcoming-strip-viewport{position:relative;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding:4px 4px 12px;mask-image:linear-gradient(to right,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%)}.student-upcoming-strip{display:flex;flex-direction:row;align-items:stretch;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-sm) 0;width:max-content}.student-upcoming-strip__card{flex:0 0 240px;min-width:240px;max-width:240px;padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);display:flex;flex-direction:column;gap:var(--spacing-xs);transition:box-shadow var(--transition-fast, .12s) ease,border-color var(--transition-fast, .12s) ease,transform var(--transition-fast, .12s) ease}.student-upcoming-strip__card:not(.student-upcoming-strip__card--locked):hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.student-upcoming-strip__card--locked{opacity:.65}.student-upcoming-strip__card--current{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 16%,transparent)}.student-upcoming-strip__card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.student-upcoming-strip__number{font-size:24px;font-weight:700;line-height:1;color:var(--color-text-primary);letter-spacing:-.5px}.student-upcoming-strip__card--completed .student-upcoming-strip__number{color:var(--color-success)}.student-upcoming-strip__card--in-progress .student-upcoming-strip__number,.student-upcoming-strip__card--current .student-upcoming-strip__number{color:var(--color-primary)}.student-upcoming-strip__card--next-up .student-upcoming-strip__number{color:var(--color-warning)}.student-upcoming-strip__status{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--palette-neutral-200);color:var(--color-text-hint)}.student-upcoming-strip__status .material-symbols-outlined{font-size:16px}.student-upcoming-strip__status--completed{background:var(--color-success);color:#fff}.student-upcoming-strip__status--in-progress{background:var(--color-primary);color:#fff}.student-upcoming-strip__status--next-up{background:var(--color-warning);color:#fff}.student-upcoming-strip__date{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary)}.student-upcoming-strip__title{margin:0;font-size:14px;font-weight:600;color:var(--color-text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.student-upcoming-strip__meta{display:flex;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-sm);font-size:12px;color:var(--color-text-secondary)}.student-upcoming-strip__meta span{display:inline-flex;align-items:center;gap:4px}.student-upcoming-strip__meta .material-symbols-outlined{font-size:14px}.student-upcoming-strip__action{display:inline-flex;align-items:center;gap:var(--spacing-xs);margin-top:auto;padding-top:var(--spacing-xs);font-size:12px;font-weight:600;color:var(--color-primary);text-decoration:none}.student-upcoming-strip__action:hover{text-decoration:underline}.student-upcoming-strip__action .material-symbols-outlined{font-size:16px}.student-skill-gaps-guide-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:6px 12px;font-size:13px;font-weight:600;color:var(--color-primary);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);cursor:pointer;transition:background var(--transition-fast, .12s) ease,border-color var(--transition-fast, .12s) ease}.student-skill-gaps-guide-btn:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);border-color:var(--color-primary)}.student-skill-gaps-guide-btn .material-symbols-outlined{font-size:18px}.student-skill-guide-modal{max-width:560px}.student-skill-guide-modal__header{display:flex;align-items:center;gap:var(--spacing-sm)}.student-skill-guide-modal__header .material-symbols-outlined{color:var(--color-primary);font-size:24px}.student-skill-guide-modal__desc{margin:0 0 var(--spacing-md);color:var(--color-text-secondary);font-size:14px;line-height:1.5}.student-skill-gaps-filters{display:grid;grid-template-columns:1fr 220px;gap:var(--spacing-md);margin-top:var(--spacing-md)}.student-skill-gaps-filter{display:flex;align-items:center;gap:var(--spacing-sm);padding:8px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.student-skill-gaps-filter:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #1976d21a}.student-skill-gaps-filter .material-symbols-outlined{font-size:20px;color:var(--color-text-secondary)}.student-skill-gaps-filter__input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:var(--font-family-sans);font-size:var(--font-size-body);color:var(--color-text-primary);padding:0}.student-skill-gaps-filter__input::placeholder{color:var(--color-text-hint)}.student-skill-gaps-filter__input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;height:16px;width:16px;background:var(--palette-neutral-300);border-radius:50%;cursor:pointer;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E") no-repeat center / contain;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E") no-repeat center / contain}.student-skill-gaps-filter__label{font-size:12px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.student-skill-gaps-filter__select{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:var(--font-family-sans);font-size:var(--font-size-body);color:var(--color-text-primary);padding:0 20px 0 0;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23616161' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;background-size:16px}.student-skill-gaps-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-xl);border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;margin-bottom:var(--spacing-md)}.student-skill-gaps-empty .material-symbols-outlined{font-size:32px;color:var(--color-text-secondary)}.student-skill-gaps-empty p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-body)}@media (max-width: 640px){.student-skill-gaps-filters{grid-template-columns:1fr}}.student-skill-gaps-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.student-skill-gaps-assess-all{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.student-skill-gaps-assess-all .material-symbols-outlined{font-size:18px}.student-skill-gaps-error{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.student-skill-gap-row{display:grid;grid-template-columns:36px 1fr auto;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-left-width:3px;border-radius:var(--radius-md);transition:background var(--transition-base),border-color var(--transition-base)}.student-skill-gap-row--unmet{border-left-color:var(--color-primary)}.student-skill-gap-row--met{border-left-color:var(--color-success, #4CAF50);background:color-mix(in srgb,var(--color-success, #4CAF50) 4%,var(--color-surface))}.student-skill-gap-row:hover{background:color-mix(in srgb,var(--color-primary) 4%,var(--color-surface))}.student-skill-gap-row--met:hover{background:color-mix(in srgb,var(--color-success, #4CAF50) 8%,var(--color-surface))}.student-skill-gap-row__icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-sm);flex-shrink:0}.student-skill-gap-row--met .student-skill-gap-row__icon{background-color:var(--color-success, #4CAF50)}.student-skill-gap-row__icon .material-symbols-outlined{font-size:22px}.student-skill-gap-row__body{min-width:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.student-skill-gap-row__head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.student-skill-gap-row__name{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.student-skill-gap-row__status{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.02em}.student-skill-gap-row__status--unmet{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}.student-skill-gap-row__status--met{background:color-mix(in srgb,var(--color-success, #4CAF50) 16%,transparent);color:var(--color-success, #4CAF50)}.student-skill-gap-row__desc{font-size:var(--font-size-label);color:var(--color-text-secondary);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.student-skill-gap-row__levels{display:flex;align-items:center;gap:var(--spacing-md);margin:0;font-size:var(--font-size-label)}.student-skill-gap-row__levels>div{display:flex;flex-direction:column;gap:2px}.student-skill-gap-row__levels dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);font-weight:var(--font-weight-medium);margin:0}.student-skill-gap-row__levels dd{margin:0;font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:capitalize}.student-skill-gap-row__arrow{color:var(--color-text-secondary);font-size:18px}.student-skill-gap-row__actions{display:flex;align-items:flex-start;justify-content:flex-end}.student-skill-gap-row__assess{white-space:nowrap}@media (max-width: 640px){.student-skill-gap-row{grid-template-columns:36px 1fr}.student-skill-gap-row__actions{grid-column:1 / -1;justify-content:flex-start}}.student-skill-gaps-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-md) 0 var(--spacing-lg);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-md)}.student-skill-gaps-summary__stats{display:flex;align-items:center;gap:var(--spacing-xl);flex-wrap:wrap}.student-skill-gaps-summary__stat{display:flex;flex-direction:column;gap:2px}.student-skill-gaps-summary__stat-value{font-size:24px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.1;letter-spacing:-.01em}.student-skill-gaps-summary__stat-value--gap{color:var(--color-primary)}.student-skill-gaps-summary__stat-total{font-size:14px;font-weight:var(--font-weight-regular);color:var(--color-text-secondary);margin-left:2px}.student-skill-gaps-summary__stat-label{font-size:12px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.student-skill-gaps-toolbar{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;margin-bottom:var(--spacing-md)}.student-skill-gaps-chips{display:inline-flex;align-items:center;gap:4px;padding:4px;background:var(--color-surface-variant, color-mix(in srgb, var(--color-border) 30%, transparent));border-radius:var(--radius-md)}.student-skill-gaps-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast) ease,color var(--transition-fast) ease}.student-skill-gaps-chip:hover{color:var(--color-text-primary)}.student-skill-gaps-chip.is-active{background:var(--color-surface);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);box-shadow:0 1px 2px #0000000f}.student-skill-gaps-chip__dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-hint);flex-shrink:0}.student-skill-gaps-chip__dot--gap{background:var(--color-primary)}.student-skill-gaps-chip__dot--met{background:var(--color-success, #4CAF50)}.student-skill-gaps-chip__count{font-size:12px;color:var(--color-text-secondary);padding:1px 6px;background:color-mix(in srgb,var(--color-border) 60%,transparent);border-radius:999px;min-width:20px;text-align:center}.student-skill-gaps-chip.is-active .student-skill-gaps-chip__count{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}.student-skill-gaps-toolbar .student-skill-gaps-filter--search{flex:1;min-width:180px}.student-skill-gaps-clusters-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--spacing-md)}.student-skill-gaps-cluster-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:transparent;border:1px solid var(--color-border);border-radius:999px;cursor:pointer;transition:background var(--transition-fast) ease,border-color var(--transition-fast) ease,color var(--transition-fast) ease}.student-skill-gaps-cluster-chip:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary)}.student-skill-gaps-cluster-chip.is-active{background:color-mix(in srgb,var(--color-primary) 8%,transparent);border-color:var(--color-primary);color:var(--color-primary)}.student-skill-gaps-cluster-chip__count{font-size:11px;color:var(--color-text-secondary);padding:0 6px;background:color-mix(in srgb,var(--color-border) 60%,transparent);border-radius:999px}.student-skill-gaps-cluster-chip.is-active .student-skill-gaps-cluster-chip__count{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}.student-skill-gaps-clusters{display:flex;flex-direction:column;gap:var(--spacing-md)}.student-skill-cluster{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}.student-skill-cluster__header{display:grid;grid-template-columns:24px 1fr auto 140px;align-items:center;gap:var(--spacing-md);width:100%;padding:12px var(--spacing-lg);background:transparent;border:none;cursor:pointer;text-align:left;transition:background var(--transition-fast) ease}.student-skill-cluster__header:hover{background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.student-skill-cluster__chevron{color:var(--color-text-secondary);font-size:20px}.student-skill-cluster__label{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.student-skill-cluster__count{font-size:13px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.student-skill-cluster__progress{display:block;width:100%;height:4px;background:color-mix(in srgb,var(--color-border) 70%,transparent);border-radius:999px;overflow:hidden}.student-skill-cluster__progress-fill{display:block;height:100%;background:var(--color-primary);transition:width var(--transition-base) ease}.student-skill-row{display:grid;grid-template-columns:1fr auto;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border);background:var(--color-surface);transition:background var(--transition-fast) ease}.student-skill-row:hover{background:color-mix(in srgb,var(--color-primary) 3%,var(--color-surface))}.student-skill-row--met{background:color-mix(in srgb,var(--color-success, #4CAF50) 3%,var(--color-surface))}.student-skill-row--met:hover{background:color-mix(in srgb,var(--color-success, #4CAF50) 6%,var(--color-surface))}.student-skill-row__main{display:grid;grid-template-columns:32px 1fr;align-items:flex-start;gap:var(--spacing-md);width:100%;padding:0;background:transparent;border:none;cursor:pointer;text-align:left;min-width:0}.student-skill-row__status-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.student-skill-row__status-icon--unmet{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}.student-skill-row__status-icon--met{background:color-mix(in srgb,var(--color-success, #4CAF50) 16%,transparent);color:var(--color-success, #4CAF50)}.student-skill-row__status-icon .material-symbols-outlined{font-size:18px}.student-skill-row__body{display:flex;flex-direction:column;gap:var(--spacing-sm);min-width:0}.student-skill-row__head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.student-skill-row__name{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-align:left}.student-skill-row__levels{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-secondary);text-transform:capitalize}.student-skill-row__level-text{font-weight:var(--font-weight-medium)}.student-skill-row__level-text--target{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.student-skill-row__level-arrow{font-size:14px;color:var(--color-text-hint)}.student-skill-row__desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--font-size-label);color:var(--color-text-secondary);line-height:1.5;text-align:left}.student-skill-row__assess{align-self:flex-start;white-space:nowrap}.student-skill-row__status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:var(--font-weight-semibold);border-radius:999px;text-transform:uppercase;letter-spacing:.02em}.student-skill-row__status-badge--unmet{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}.student-skill-row__status-badge--met{background:color-mix(in srgb,var(--color-success, #4CAF50) 16%,transparent);color:var(--color-success, #4CAF50)}.student-skill-row__status-badge .material-symbols-outlined{font-size:14px}.student-skill-detail-modal{max-width:560px;width:100%;position:relative;padding:0;overflow:hidden;display:flex;flex-direction:column}.student-skill-detail-modal__close{position:absolute;top:12px;right:12px;z-index:2}.student-skill-detail-modal__hero{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 32px 24px;text-align:center;background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 6%,transparent) 0%,transparent 100%)}.student-skill-detail-modal--met .student-skill-detail-modal__hero{background:linear-gradient(180deg,color-mix(in srgb,var(--color-success, #4AC994) 10%,transparent) 0%,transparent 100%)}.student-skill-detail-modal__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;margin-bottom:4px}.student-skill-detail-modal__icon .material-symbols-outlined{font-size:30px}.student-skill-detail-modal__icon--unmet{background:color-mix(in srgb,var(--color-primary) 14%,transparent);color:var(--color-primary)}.student-skill-detail-modal__icon--met{background:color-mix(in srgb,var(--color-success, #4AC994) 20%,transparent);color:var(--color-success, #4AC994)}.student-skill-detail-modal__title{font-size:22px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:1.3;max-width:440px}.student-skill-detail-modal__chip{font-size:13px;padding:6px 14px}.student-skill-detail-modal__chip .material-symbols-outlined{font-size:16px}.student-skill-detail-modal__body{padding:0 32px 24px;display:flex;flex-direction:column;gap:24px;overflow-y:auto}.student-skill-detail-modal__levels-card{display:flex;flex-direction:column;gap:16px;padding:20px;background:var(--palette-neutral-50, #FAFAFA);border:1px solid var(--color-border);border-radius:14px}.student-skill-detail-modal__levels-head{display:flex;align-items:center;gap:12px}.student-skill-detail-modal__level-point{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.student-skill-detail-modal__level-point--target{text-align:right}.student-skill-detail-modal__level-eyebrow{font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-hint);text-transform:uppercase;letter-spacing:.06em}.student-skill-detail-modal__level-value{font-size:15px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.3}.student-skill-detail-modal__level-point--target .student-skill-detail-modal__level-value{color:var(--color-primary)}.student-skill-detail-modal--met .student-skill-detail-modal__level-point--target .student-skill-detail-modal__level-value{color:var(--color-success, #4AC994)}.student-skill-detail-modal__level-arrow{font-size:18px!important;color:var(--color-text-hint)}.student-skill-detail-modal__track{height:8px}.student-skill-detail-modal__section{display:flex;flex-direction:column;gap:8px;margin:0}.student-skill-detail-modal__section-title{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:0;text-transform:none;margin:0}.student-skill-detail-modal__section-title .material-symbols-outlined{font-size:18px;color:var(--color-text-secondary)}.student-skill-detail-modal__text{font-size:14px;color:var(--color-text-secondary);line-height:1.6;margin:0}.student-skill-detail-modal__section--guidance{padding:16px;background:color-mix(in srgb,var(--color-primary) 4%,transparent);border-radius:12px;border-left:3px solid var(--color-primary)}.student-skill-detail-modal--met .student-skill-detail-modal__section--guidance{background:color-mix(in srgb,var(--color-success, #4AC994) 6%,transparent);border-left-color:var(--color-success, #4AC994)}.student-skill-detail-modal__section--guidance .student-skill-detail-modal__text{color:var(--color-text-primary)}.student-skill-detail-modal__footer{display:flex;justify-content:flex-end;padding:16px 32px 24px;border-top:1px solid var(--color-border);background:var(--color-surface)}.student-skill-detail-modal__cta{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;font-size:14px;font-weight:var(--font-weight-semibold)}.student-skill-detail-modal__cta .material-symbols-outlined{font-size:18px}@media (max-width: 560px){.student-skill-detail-modal__hero{padding:28px 20px 20px}.student-skill-detail-modal__body{padding:0 20px 20px}.student-skill-detail-modal__footer{padding:16px 20px 20px}.student-skill-detail-modal__title{font-size:19px}}@media (max-width: 720px){.student-skill-cluster__header{grid-template-columns:24px 1fr auto}.student-skill-cluster__progress{grid-column:1 / -1;margin-top:6px}.student-skill-row{grid-template-columns:1fr}.student-skill-row__assess{justify-self:flex-start;margin-left:48px}.student-skill-gaps-summary__stats{gap:var(--spacing-lg)}}.student-dashboard--360l{--dp-canvas: #FFFCFA;--dp-canvas-alt: #F5EFE6;--dp-surface: #FFFFFF;--dp-surface-muted: #FAF7F2;--dp-border: #EEE8DE;--dp-text-primary: #18191D;--dp-text-secondary: #484D59;--dp-text-hint: #8C92A3;--dp-primary: #2567F4;--dp-primary-soft: #E7EEFE;--dp-success: #4AC994;--dp-success-soft: #E2F5EC;--dp-warning: #FFDA6E;--dp-warning-soft: #FFF6D6;--dp-accent: #BB97F1;--dp-accent-soft: #F1E8FE;--dp-alert: #EB4040;--dp-radius-card: 20px;--dp-radius-tile: 16px;--dp-radius-pill: 999px;--dp-shadow-card: 0 1px 2px rgba(24, 25, 29, .04), 0 4px 16px rgba(24, 25, 29, .04);background:var(--dp-canvas);font-family:"Plus Jakarta Sans","Inter",var(--font-family-sans);padding:0}.student-dashboard--360l .student-dashboard-header,.student-dashboard--360l>.ds-alert,.student-dashboard--360l .student-dashboard-v2{width:100%}.student-dashboard--360l .student-dashboard-header{padding:var(--spacing-2xl) 0 var(--spacing-xs)}.student-dashboard--360l .student-dashboard-welcome{font-family:"Plus Jakarta Sans","Inter",var(--font-family-sans);font-weight:800;font-size:32px;line-height:1.15;letter-spacing:-.01em;color:var(--dp-text-primary)}.student-dashboard--360l .student-dashboard-subtitle{font-size:16px;color:var(--dp-text-secondary)}.student-dashboard--360l .student-dashboard-v2{padding:0;gap:var(--spacing-lg);background:transparent}@media (max-width: 599px){.student-dashboard--360l .student-dashboard-v2{padding:0;gap:var(--spacing-md)}.student-dashboard--360l .student-dashboard-header{padding:var(--spacing-lg) 0 var(--spacing-xs)}.student-dashboard--360l .student-dashboard-welcome{font-size:26px}}.student-dashboard--360l .ds-card,.student-dashboard--360l .student-metric-card,.student-dashboard--360l .student-kpi-tile,.student-dashboard--360l .student-skill-cluster,.student-themed .profile-stack>.ds-card,.student-themed .billing-stack>.ds-card{background:var(--dp-surface);border:1px solid var(--dp-border);border-radius:var(--dp-radius-card);box-shadow:0 1px 2px #18191d0f,0 8px 24px #18191d0f}.student-dashboard--360l .student-metric-card__header{padding-bottom:4px}.student-dashboard--360l .student-metric-card__title{font-family:"Plus Jakarta Sans","Inter",var(--font-family-sans);font-weight:700;font-size:15px;letter-spacing:.02em;color:var(--dp-text-primary);text-transform:uppercase}.student-dashboard--360l .student-metric-card__caption{color:var(--dp-text-secondary)}.student-dashboard--360l .student-metric-card__icon{width:40px;height:40px;border-radius:12px;background:var(--dp-primary-soft);color:var(--dp-primary);display:inline-flex;align-items:center;justify-content:center}.student-dashboard--360l .student-metric-card__icon .material-symbols-outlined{font-size:22px}.student-dashboard--360l [data-area=kpi-continue] .student-metric-card__icon,.student-dashboard--360l [data-area=kpi-continue] .student-kpi-tile__icon{background:var(--dp-primary-soft);color:var(--dp-primary)}.student-dashboard--360l [data-area=kpi-progress] .student-metric-card__icon,.student-dashboard--360l [data-area=kpi-progress] .student-kpi-tile__icon{background:var(--dp-accent-soft);color:#7a52c7}.student-dashboard--360l [data-area=kpi-streak] .student-metric-card__icon,.student-dashboard--360l [data-area=kpi-streak] .student-kpi-tile__icon{background:var(--dp-warning-soft);color:#b4840c}.student-dashboard--360l [data-area=kpi-skills] .student-metric-card__icon,.student-dashboard--360l [data-area=kpi-skills] .student-kpi-tile__icon{background:var(--dp-success-soft);color:#1f8a5c}.student-dashboard--360l [data-area=trend] .student-metric-card__icon{background:var(--dp-primary-soft);color:var(--dp-primary)}.student-dashboard--360l [data-area=accuracy] .student-metric-card__icon,.student-dashboard--360l [data-area=heatmap] .student-metric-card__icon{background:var(--dp-success-soft);color:#1f8a5c}.student-dashboard--360l [data-area=upcoming] .student-metric-card__icon{background:var(--dp-accent-soft);color:#7a52c7}.student-dashboard--360l [data-area=gaps] .student-metric-card__icon{background:var(--dp-primary-soft);color:var(--dp-primary)}.student-dashboard--360l .student-kpi-tile{padding:20px;gap:12px}.student-dashboard--360l .student-kpi-tile__eyebrow,.student-dashboard--360l .student-kpi-tile__label{font-family:"Plus Jakarta Sans","Inter",var(--font-family-sans);font-weight:700;font-size:12px;letter-spacing:.06em;color:var(--dp-text-secondary);text-transform:uppercase}.student-dashboard--360l .student-kpi-tile__value,.student-dashboard--360l .student-kpi-tile__headline,.student-dashboard--360l .student-kpi-tile__number{font-family:"Plus Jakarta Sans","Inter",var(--font-family-sans);font-weight:800;font-size:28px;letter-spacing:-.01em;color:var(--dp-text-primary)}.student-dashboard--360l .student-kpi-tile__caption{color:var(--dp-text-secondary);font-size:13px}.student-dashboard--360l .ds-btn-primary{background:var(--dp-primary);border-color:var(--dp-primary);border-radius:var(--dp-radius-pill);padding:10px 18px;font-weight:600}.student-dashboard--360l .ds-btn-primary:hover{background:#1f55d1;border-color:#1f55d1}.student-dashboard--360l .ds-btn-secondary{border-radius:var(--dp-radius-pill);border-color:var(--dp-border);color:var(--dp-text-primary);background:var(--dp-surface);padding:10px 16px;font-weight:600}.student-dashboard--360l .ds-btn-secondary:hover{background:var(--dp-surface-muted)}.student-dashboard--360l .student-skill-gaps-summary{border-bottom-color:var(--dp-border)}.student-dashboard--360l .student-skill-gaps-summary__stat-value{font-family:"Plus Jakarta Sans","Inter",var(--font-family-sans);font-weight:800;font-size:26px;color:var(--dp-text-primary)}.student-dashboard--360l .student-skill-gaps-summary__stat-value--gap{color:var(--dp-primary)}.student-dashboard--360l .student-skill-gaps-summary__stat-label{color:var(--dp-text-secondary)}.student-dashboard--360l .student-skill-gaps-chips{background:var(--dp-canvas-alt);border-radius:var(--dp-radius-pill);padding:4px}.student-dashboard--360l .student-skill-gaps-chip{border-radius:var(--dp-radius-pill);color:var(--dp-text-secondary)}.student-dashboard--360l .student-skill-gaps-chip.is-active{background:var(--dp-surface);color:var(--dp-text-primary);box-shadow:0 1px 2px #18191d14}.student-dashboard--360l .student-skill-gaps-chip__dot--gap{background:var(--dp-primary)}.student-dashboard--360l .student-skill-gaps-chip__dot--met{background:var(--dp-success)}.student-dashboard--360l .student-skill-gaps-chip__count{background:#18191d0f}.student-dashboard--360l .student-skill-gaps-chip.is-active .student-skill-gaps-chip__count{background:var(--dp-primary-soft);color:var(--dp-primary)}.student-dashboard--360l .student-skill-gaps-filter{background:var(--dp-surface-muted);border-color:var(--dp-border);border-radius:var(--dp-radius-pill)}.student-dashboard--360l .student-skill-gaps-filter:focus-within{border-color:var(--dp-primary);background:var(--dp-surface);box-shadow:0 0 0 3px #2567f426}.student-dashboard--360l .student-skill-gaps-cluster-chip{border-color:var(--dp-border);color:var(--dp-text-secondary);border-radius:var(--dp-radius-pill)}.student-dashboard--360l .student-skill-gaps-cluster-chip.is-active{background:var(--dp-accent-soft);border-color:var(--dp-accent);color:#6c40c0}.student-dashboard--360l .student-skill-gaps-cluster-chip.is-active .student-skill-gaps-cluster-chip__count{background:#6c40c01f;color:#6c40c0}.student-dashboard--360l .student-skill-cluster{border-color:var(--dp-border);box-shadow:none;overflow:hidden}.student-dashboard--360l .student-skill-cluster+.student-skill-cluster{margin-top:0}.student-dashboard--360l .student-skill-cluster__label{font-family:"Plus Jakarta Sans","Inter",var(--font-family-sans);font-weight:700}.student-dashboard--360l .student-skill-cluster__progress-fill{background:var(--dp-success)}.student-dashboard--360l .student-skill-cluster__header:hover{background:var(--dp-surface-muted)}.student-dashboard--360l .student-skill-row{border-top-color:var(--dp-border);background:transparent}.student-dashboard--360l .student-skill-row:hover{background:var(--dp-surface-muted)}.student-dashboard--360l .student-skill-row--met{background:var(--dp-success-soft)}.student-dashboard--360l .student-skill-row--met:hover{background:#d5eee2}.student-dashboard--360l .student-skill-row__status-icon--unmet{background:var(--dp-primary-soft);color:var(--dp-primary)}.student-dashboard--360l .student-skill-row__status-icon--met{background:#cfe9dc;color:#1f8a5c}.student-dashboard--360l .student-skill-row__name{font-family:"Plus Jakarta Sans","Inter",var(--font-family-sans);font-weight:700}.student-dashboard--360l .student-upcoming-strip__card{border-radius:var(--dp-radius-tile);background:var(--dp-surface);border-color:var(--dp-border)}.student-dashboard--360l .student-upcoming-strip__card--in-progress,.student-dashboard--360l .student-upcoming-strip__card--current{border-color:var(--dp-primary);background:var(--dp-primary-soft)}.student-dashboard--360l .student-upcoming-strip__card--completed{background:var(--dp-success-soft);border-color:var(--dp-success)}.student-dashboard--360l .student-upcoming-strip__status--in-progress{background:var(--dp-primary)}.student-dashboard--360l .student-upcoming-strip__status--completed{background:var(--dp-success)}.student-dashboard--360l .student-heatmap__cell--l1{background:#d9f1e6}.student-dashboard--360l .student-heatmap__cell--l2{background:#9fddc0}.student-dashboard--360l .student-heatmap__cell--l3{background:#5dc899}.student-dashboard--360l .student-heatmap__cell--l4{background:#2fa574}.student-dashboard--360l [data-area=trend] .recharts-line .recharts-curve,.student-dashboard--360l [data-area=trend] .recharts-line-dot{stroke:var(--dp-primary);fill:var(--dp-primary)}.student-dashboard--360l~.ds-modal-overlay .ds-modal,.student-dashboard--360l .ds-modal{border-radius:var(--dp-radius-card);font-family:"Plus Jakarta Sans","Inter",var(--font-family-sans)}.student-skill-radar{margin:0 0 var(--spacing-lg);padding:var(--spacing-md) 0 0}.student-skill-radar__chart{width:100%}.student-skill-radar__caption{margin:var(--spacing-sm) 0 0;font-size:12px;color:var(--color-text-secondary);text-align:center}.student-skill-radar--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-xl);border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;color:var(--color-text-secondary)}.student-skill-radar--empty .material-symbols-outlined{font-size:32px;color:var(--color-text-hint)}.student-skill-radar__tick{pointer-events:all}.student-skill-radar__tick text{-webkit-user-select:none;user-select:none}.student-skill-radar__tick:hover text{fill:var(--color-primary)}.student-skill-radar__tooltip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 16px #18191d14;padding:10px 12px;min-width:200px;font-size:12px}.student-skill-radar__tooltip-title{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:13px;margin-bottom:6px}.student-skill-radar__tooltip-rows{display:flex;flex-direction:column;gap:4px;margin:0}.student-skill-radar__tooltip-rows>div{display:flex;justify-content:space-between;gap:var(--spacing-md)}.student-skill-radar__tooltip-rows dt{margin:0;color:var(--color-text-secondary);font-weight:var(--font-weight-medium);text-transform:uppercase;font-size:11px;letter-spacing:.02em}.student-skill-radar__tooltip-rows dd{margin:0;color:var(--color-text-primary);font-weight:var(--font-weight-semibold);display:inline-flex;align-items:center;gap:6px}.student-skill-radar__dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.student-skill-radar__dot--current{background:#2567f4}.student-skill-radar__dot--target{background:#bb97f1}.student-skill-gaps-list--flat{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;border-top:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.student-skill-row__cluster{display:inline-block;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-border) 40%,transparent);border-radius:999px;vertical-align:middle}.student-dashboard--360l .student-skill-radar__tooltip{border-color:var(--dp-border);border-radius:12px;font-family:"Plus Jakarta Sans","Inter",var(--font-family-sans)}.student-dashboard--360l .student-skill-row__cluster{background:var(--dp-canvas-alt);color:var(--dp-text-secondary)}.student-skill-gaps-tabs{display:inline-flex;gap:4px;padding:4px;margin-bottom:var(--spacing-md);background:var(--color-surface-variant, #F3F4F6);border-radius:999px;border:1px solid var(--color-border)}.student-skill-gaps-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:transparent;border:none;border-radius:999px;cursor:pointer;transition:background var(--transition-fast) ease,color var(--transition-fast) ease,box-shadow var(--transition-fast) ease}.student-skill-gaps-tab:hover{color:var(--color-text-primary)}.student-skill-gaps-tab.is-active{background:var(--color-surface, #FFFFFF);color:var(--color-text-primary);box-shadow:0 1px 2px #0000000f}.student-skill-gaps-tab .material-symbols-outlined{font-size:18px}.student-skill-gaps-tab__count{font-size:11px;font-weight:var(--font-weight-medium);color:var(--color-text-hint);padding:1px 8px;background:color-mix(in srgb,var(--color-border) 60%,transparent);border-radius:999px}.student-skill-gaps-tab.is-active .student-skill-gaps-tab__count{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.student-skill-gaps-panel{min-height:0}.student-skill-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;list-style:none;margin:0;padding:0}.student-skill-cards__item{display:block}.student-skill-card{display:flex;flex-direction:column;gap:12px;width:100%;padding:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;text-align:left;cursor:pointer;transition:border-color var(--transition-fast) ease,box-shadow var(--transition-fast) ease,transform var(--transition-fast) ease}.student-skill-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #2567f414;transform:translateY(-1px)}.student-skill-card:hover .student-skill-card__chevron{color:var(--color-primary);transform:translate(2px)}.student-skill-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.student-skill-card--met{background:color-mix(in srgb,var(--color-success, #4AC994) 4%,var(--color-surface))}.student-skill-card__head{display:flex;align-items:flex-start;gap:10px;min-height:40px}.student-skill-card__dot{flex-shrink:0;width:8px;height:8px;margin-top:7px;border-radius:50%}.student-skill-card__dot--unmet{background:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,transparent)}.student-skill-card__dot--met{background:var(--color-success, #4AC994);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success, #4AC994) 18%,transparent)}.student-skill-card__name{flex:1;min-width:0;font-size:15px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.student-skill-card__chevron{flex-shrink:0;font-size:20px!important;color:var(--color-text-hint);transition:color var(--transition-fast) ease,transform var(--transition-fast) ease;margin-top:2px}.student-skill-card__track{position:relative;height:6px;background:var(--palette-neutral-100, #F3F4F6);border-radius:999px;overflow:visible}.student-skill-card__track-target{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--color-primary) 14%,transparent);border-radius:999px}.student-skill-card__track-current{position:absolute;left:0;top:0;bottom:0;background:var(--color-primary);border-radius:999px;transition:width var(--transition-base) ease}.student-skill-card--met .student-skill-card__track-current{background:var(--color-success, #4AC994)}.student-skill-card--met .student-skill-card__track-target{background:color-mix(in srgb,var(--color-success, #4AC994) 16%,transparent)}.student-skill-card__track-marker{position:absolute;top:-3px;width:2px;height:12px;background:var(--color-text-secondary);border-radius:2px;transform:translate(-1px);opacity:.6}.student-skill-card--met .student-skill-card__track-marker{opacity:0}.student-skill-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.student-skill-card__level-now{font-size:12px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-skill-card__gap-chip{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:var(--font-weight-semibold);line-height:1.4;border-radius:999px;white-space:nowrap}.student-skill-card__gap-chip .material-symbols-outlined{font-size:14px}.student-skill-card__gap-chip--unmet{background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary)}.student-skill-card__gap-chip--met{background:color-mix(in srgb,var(--color-success, #4AC994) 14%,transparent);color:var(--color-success, #4AC994)}.student-dashboard--360l .student-skill-gaps-tabs{background:var(--dp-canvas-alt);border-color:var(--dp-border);border-radius:var(--dp-radius-pill)}.student-dashboard--360l .student-skill-gaps-tab{font-family:"Plus Jakarta Sans","Inter",var(--font-family-sans);border-radius:var(--dp-radius-pill);color:var(--dp-text-secondary)}.student-dashboard--360l .student-skill-gaps-tab.is-active{background:#fff;color:var(--dp-text-primary);box-shadow:0 1px 3px #14162114}.student-dashboard--360l .student-skill-gaps-tab.is-active .student-skill-gaps-tab__count{color:#2567f4;background:#2567f41f}.student-dashboard--360l .student-skill-card{border-color:var(--dp-border);border-radius:16px;background:#fff}.student-dashboard--360l .student-skill-card:hover{border-color:#2567f4;box-shadow:0 4px 12px #2567f41a}.student-dashboard--360l .student-skill-card--met{background:color-mix(in srgb,#4AC994 5%,#FFFFFF)}.student-dashboard--360l .student-skill-card__name{font-family:"Plus Jakarta Sans","Inter",var(--font-family-sans)}.student-dashboard--360l .student-skill-card__dot--unmet{background:#2567f4;box-shadow:0 0 0 3px #2567f429}.student-dashboard--360l .student-skill-card__dot--met{background:#4ac994;box-shadow:0 0 0 3px #4ac99433}.student-dashboard--360l .student-skill-card__track{background:var(--dp-canvas-alt)}.student-dashboard--360l .student-skill-card__track-target{background:#2567f424}.student-dashboard--360l .student-skill-card__track-current{background:#2567f4}.student-dashboard--360l .student-skill-card--met .student-skill-card__track-current{background:#4ac994}.student-dashboard--360l .student-skill-card--met .student-skill-card__track-target{background:#4ac9942e}.student-dashboard--360l .student-skill-card__gap-chip--unmet{background:#2567f41f;color:#2567f4}.student-dashboard--360l .student-skill-card__gap-chip--met{background:#4ac9942e;color:#3db082}.student-dashboard--360l+.ds-modal-overlay .student-skill-detail-modal,.student-dashboard--360l .student-skill-detail-modal,.ds-modal-overlay .student-skill-detail-modal{border-radius:20px}.student-skill-detail-modal__title,.student-skill-detail-modal__level-value{font-family:"Plus Jakarta Sans","Inter",var(--font-family-sans)}.ds-breadcrumbs{font-size:var(--font-size-label);color:var(--color-text-secondary)}.ds-breadcrumbs__list{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs);list-style:none;margin:0;padding:6px 14px;background:color-mix(in srgb,var(--color-text-primary) 4%,transparent);border:1px solid var(--color-border);border-radius:999px;line-height:1.2}.ds-breadcrumbs__item{display:inline-flex;align-items:center;gap:var(--spacing-xs);min-width:0}.ds-breadcrumbs__sep{display:inline-flex;align-items:center;color:var(--color-text-hint)}.ds-breadcrumbs__sep-icon{font-size:16px;line-height:1}.ds-breadcrumbs__link{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-secondary);text-decoration:none;border-radius:6px;padding:2px 4px;transition:color var(--transition-fast, .12s) ease,background var(--transition-fast, .12s) ease}.ds-breadcrumbs__link:hover{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.ds-breadcrumbs__current{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-primary);font-weight:var(--font-weight-medium, 500);padding:2px 4px}.ds-breadcrumbs__home-icon{font-size:18px;line-height:1}.ds-breadcrumbs__link--home .ds-breadcrumbs__home-label,.ds-breadcrumbs__current--home .ds-breadcrumbs__home-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.student-dashboard--360l .ds-breadcrumbs__list{background:var(--dp-surface);border-color:var(--dp-border)}.student-dashboard--360l .ds-breadcrumbs__link:hover{color:var(--dp-primary);background:color-mix(in srgb,var(--dp-primary) 10%,transparent)}.student-dashboard>.ds-breadcrumbs{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-sm)}@media (max-width: 599px){.student-dashboard>.ds-breadcrumbs{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}.student-themed{--dp-canvas: #FFFCFA;--dp-canvas-alt: #F5EFE6;--dp-surface: #FFFFFF;--dp-surface-muted: #FAF7F2;--dp-border: #EEE8DE;--dp-text-primary: #18191D;--dp-text-secondary: #484D59;--dp-text-hint: #8C92A3;--dp-primary: #2567F4;--dp-primary-soft: #E7EEFE;--dp-success: #4AC994;--dp-success-soft: #E2F5EC;--dp-warning: #FFDA6E;--dp-warning-soft: #FFF6D6;--dp-accent: #BB97F1;--dp-accent-soft: #F1E8FE;--dp-alert: #EB4040;--dp-radius-card: 20px;--dp-radius-tile: 16px;--dp-radius-pill: 999px;--dp-shadow-card: 0 1px 2px rgba(24, 25, 29, .04), 0 4px 16px rgba(24, 25, 29, .04);background:var(--dp-canvas);font-family:"Plus Jakarta Sans","Inter",var(--font-family-sans);min-height:calc(100vh - 64px)}.student-themed h1,.student-themed h2,.student-themed h3,.student-themed h4{font-family:"Plus Jakarta Sans","Inter",var(--font-family-sans);letter-spacing:-.01em;color:var(--dp-text-primary)}.student-themed h1{font-weight:800}.student-themed h2{font-weight:700}.student-themed .ds-card,.student-themed .student-metric-card,.student-themed .student-kpi-tile,.student-themed .student-skill-cluster,.student-themed .ds-panel{background:var(--dp-surface);border:1px solid var(--dp-border);border-radius:var(--dp-radius-card);box-shadow:var(--dp-shadow-card)}.student-themed .roadmap-container,.student-themed .student-assessment-list,.student-themed .ai-mentor-standalone-wrapper,.student-themed .user-profile,.student-themed .job-role-selection,.student-themed .student-dashboard{background:transparent}.student-themed .module-learning{background:var(--color-surface, #FFFFFF)}.student-themed .assessment-stats,.student-themed .assessment-list,.student-themed .roadmap-header,.student-themed .roadmap-progress-overview,.student-themed .roadmap-content,.student-themed .ai-mentor-main-content,.student-themed .ai-mentor-chat-gpt,.student-themed .ai-mentor-messages-container,.student-themed .ai-mentor-messages-wrapper,.student-themed .ai-mentor-message-row.user,.student-themed .ai-mentor-message-row.mentor,.student-themed .ai-mentor-input-container,.student-themed .user-profile-header,.student-themed .user-profile-section,.student-themed .job-role-content,.student-themed .job-role-list-panel,.student-themed .job-role-details-panel,.student-themed .billing-table-container{background:transparent}.student-themed .ai-mentor-conversations-sidebar,.student-themed .ds-breadcrumbs__list{background:var(--dp-surface);border-color:var(--dp-border)}.student-themed .ds-breadcrumbs__link:hover{color:var(--dp-primary);background:color-mix(in srgb,var(--dp-primary) 10%,transparent)}.student-themed .btn-primary,.student-themed .ds-btn-primary{background:var(--dp-primary);border-color:var(--dp-primary);color:var(--color-on-primary, #FFFFFF)}.student-themed .btn-primary:hover,.student-themed .ds-btn-primary:hover{background:color-mix(in srgb,var(--dp-primary) 88%,#000 12%);border-color:color-mix(in srgb,var(--dp-primary) 88%,#000 12%);color:var(--color-on-primary, #FFFFFF)}.student-themed .btn-secondary,.student-themed .ds-btn-secondary{background:var(--dp-surface);border-color:var(--dp-border);color:var(--dp-text-primary)}.student-themed input:not([type=checkbox]):not([type=radio]):not([type=range]),.student-themed select,.student-themed textarea{border-color:var(--dp-border);background:var(--dp-surface);color:var(--dp-text-primary)}.student-themed input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,.student-themed select:focus,.student-themed textarea:focus{border-color:var(--dp-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--dp-primary) 20%,transparent);outline:none}.student-themed a:not(.ds-btn):not(.btn-primary):not(.btn-secondary):not(.ds-btn-primary):not(.ds-btn-secondary){color:var(--dp-primary)}.student-themed a:not(.ds-btn):not(.btn-primary):not(.btn-secondary):not(.ds-btn-primary):not(.ds-btn-secondary):hover{color:color-mix(in srgb,var(--dp-primary) 80%,#000 20%)}.student-themed .student-dashboard-welcome{font-weight:800;font-size:32px;line-height:1.15}.student-themed .roadmap-container,.student-themed .student-assessment-list,.student-themed .user-profile,.student-themed .job-role-selection,.student-themed .student-dashboard:not(.student-dashboard--360l){width:100%;max-width:none;margin:0;padding:0;display:block}.student-themed .roadmap-content,.student-themed .student-assessment-list>*,.student-themed .user-profile>*,.student-themed .job-role-selection>*,.student-themed .student-dashboard:not(.student-dashboard--360l)>*,.student-themed .roadmap-container>.ds-breadcrumbs{width:100%;box-sizing:border-box}.student-themed .roadmap-container,.student-themed .student-assessment-list,.student-themed .user-profile,.student-themed .job-role-selection,.student-themed .roadmap-content{padding-top:0;padding-bottom:0}.student-themed .student-assessment-list-header,.student-themed .job-role-selection>h1{margin-top:8px;margin-bottom:24px}.student-themed .user-profile-header{margin-top:0;margin-bottom:0}.student-themed .roadmap-header{margin-top:0;margin-bottom:var(--spacing-md)}.student-themed .ds-breadcrumbs{margin-top:8px;margin-bottom:16px}
