.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%}: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-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;--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-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}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}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-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-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-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-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-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-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{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;height:64px;gap:var(--spacing-lg);position:relative}.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-actions{display:flex;align-items:center;gap:var(--spacing-md)}.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-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-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{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}.app{min-height:100vh;background-color:var(--color-background)}.form-container{max-width:600px;margin:0 auto}.form-label-required:after{content:" *";color:#c33}.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 #0b57d01a}.form-input.error,.form-textarea.error,.form-select.error{border-color:#c33}.form-error{display:block;font-size:var(--font-size-label);color:#c33;margin-top:4px}.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:0 8px 32px #0000001f,0 2px 8px #00000014;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,#f4f6f8,#e3e9ef);padding:24px}.auth-container{width:100%;max-width:480px}.auth-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d,0 10px 15px #0000000d;padding:48px 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:24px}.auth-logo-icon{width:64px;height:64px;display:block}.auth-title{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:28px;font-weight:600;line-height:1.2;color:#212121;margin:0 0 8px}.auth-description{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;font-weight:400;line-height:1.5;color:#616161;margin:0}.auth-form{display:flex;flex-direction:column;gap:24px}.auth-field{display:flex;flex-direction:column;gap:8px}.auth-field-group{display:grid;grid-template-columns:1fr 1fr;gap:16px}.auth-field-label{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;line-height:1.4;color:#212121}.auth-input{width:100%;padding:12px 16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;font-weight:400;line-height:1.5;color:#212121;background-color:#fff;border:1px solid #D1D5DB;border-radius:8px;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1);box-sizing:border-box}.auth-input::placeholder{color:#9e9e9e}.auth-input:hover{border-color:#9e9e9e}.auth-input:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d214}.auth-input-error{border-color:#ef5350!important}.auth-input-error:focus{border-color:#ef5350!important;box-shadow:0 0 0 3px #ef535014!important}.auth-field-error{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:400;line-height:1.4;color:#ef5350}.auth-field-hint{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:400;line-height:1.4;color:#757575}.auth-alert{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:8px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}.auth-alert-error{background-color:#ef535014;border-left:4px solid #EF5350;color:#c62828}.auth-alert-success{background-color:#4caf5014;border-left:4px solid #4CAF50;color:#2e7d32}.auth-alert-icon{width:20px;height:20px;flex-shrink:0;margin-top:1px}.auth-submit-button{width:100%;padding:14px 24px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;font-weight:500;line-height:1;color:#fff;background-color:#1976d2;border:none;border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 1px 2px #0000000d;margin-top:8px}.auth-submit-button:hover:not(:disabled){background-color:#1565c0;box-shadow:0 2px 4px #0000001a}.auth-submit-button:active:not(:disabled){background-color:#0d47a1;box-shadow:0 1px 2px #0000000d;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:#fff;stroke-dasharray:50;stroke-dashoffset:25;stroke-linecap:round}@keyframes authRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-footer{margin-top:32px;padding-top:24px;border-top:1px solid #E0E0E0;text-align:center}.auth-footer-text{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:400;line-height:1.5;color:#616161;margin:0}.auth-footer-link{color:#1976d2;text-decoration:none;font-weight:500;transition:color .2s cubic-bezier(.4,0,.2,1)}.auth-footer-link:hover{color:#1565c0;text-decoration:underline}.auth-footer-link:focus{outline:2px solid #1976D2;outline-offset:2px;border-radius:4px}@media (max-width: 640px){.auth-page{padding:16px}.auth-card{padding:40px 24px}.auth-title{font-size:24px}.auth-description{font-size:14px}.auth-field-group{grid-template-columns:1fr;gap:24px}.auth-logo-icon{width:56px;height:56px}}@media (max-width: 400px){.auth-card{padding:32px 20px}.auth-branding{margin-bottom:32px}.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)}.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}.nav-link:hover{background-color:var(--palette-neutral-100);color:var(--color-text-primary)}.nav-link.active{background-color:#1976d21a;color:var(--color-primary)}.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}.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 .nav-link{justify-content:center;padding:12px}.admin-main{grid-area:main;overflow-x:auto}.admin-content{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}@media (max-width: 1024px){.admin-layout{grid-template-areas:"main";grid-template-columns:1fr}.admin-sidebar{position:fixed;top:0;left:-280px;width:280px;height:100vh;z-index:var(--z-modal);transition:left var(--transition-base)}.admin-layout.sidebar-open .admin-sidebar{left:0}.mobile-overlay{display:block;position:fixed;inset:0;background-color:#00000080;z-index:calc(var(--z-modal) - 1)}.admin-content{padding:var(--spacing-lg)}}@media (max-width: 768px){.admin-content{padding:var(--spacing-md)}}.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-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-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-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);max-width:1600px;margin:0 auto}.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}@keyframes spin{to{transform:rotate(360deg)}}.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}: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-full{width:100%}.student-dashboard{padding:var(--spacing-3xl);max-width:1400px;margin:0 auto}.student-dashboard-header{margin-bottom:var(--spacing-3xl)}.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-content{display:grid;grid-template-columns:1fr 360px;gap:var(--spacing-xl)}.student-dashboard-main,.student-dashboard-sidebar{display:flex;flex-direction:column;gap:var(--spacing-xl)}.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-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)}.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-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-sm) 0}.student-skill-gap-progression{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-label)}.student-skill-gap-current{padding:4px 10px;background-color:#6161611f;color:var(--color-text-secondary);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium);text-transform:capitalize}.student-skill-gap-progression .material-symbols-outlined{color:var(--color-primary);font-size:18px}.student-skill-gap-target{padding:4px 10px;background-color:#1976d21f;color:var(--color-primary);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);text-transform:capitalize}.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-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-content{flex:1;display:grid;grid-template-columns:400px 1fr;max-width:1400px;width:100%;margin:0 auto}.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-lg)}.job-role-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.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-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)}.roadmap-container{min-height:100vh;background-color:var(--color-background)}.roadmap-content{max-width:1200px;margin:0 auto;padding:var(--spacing-3xl) var(--spacing-xl)}.roadmap-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-2xl);gap:var(--spacing-lg)}.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-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-skills{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.roadmap-skill-chip{display:inline-flex;align-items:center;padding:4px var(--spacing-md);background-color:var(--palette-neutral-100);border-radius:var(--radius-round);font-size:var(--font-size-label);color:var(--color-text-primary);transition:background-color var(--transition-fast)}.roadmap-skill-chip:hover{background-color:var(--palette-neutral-200)}.roadmap-skill-more{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}}.module-learning{display:grid;grid-template-columns:320px 1fr;height:calc(100vh - 64px)}.module-learning-sidebar{background-color:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow-y:auto}.module-learning-progress{padding:var(--spacing-xl);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-progress-bar{width:100%;height:8px;background-color:var(--palette-neutral-200);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--spacing-sm)}.module-learning-progress-fill{height:100%;background-color:var(--color-primary);transition:width .3s ease}.module-learning-progress-text{font-size:var(--font-size-label);color:var(--color-text-secondary);text-align:center}.module-learning-skills{padding:var(--spacing-lg);border-top:1px solid var(--color-border)}.module-learning-skills-title{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-md);display:flex;align-items:center}.module-learning-skills-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.module-learning-skill-item{padding:var(--spacing-sm);background-color:var(--palette-neutral-50);border-radius:var(--radius-sm);border-left:3px solid var(--color-primary)}.module-learning-history{flex:1;padding:var(--spacing-lg);overflow-y:auto}.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-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-background);padding:var(--spacing-3xl);overflow-y:auto}.module-learning-activity{max-width:800px;margin:0 auto}.module-learning-activity-header{margin-bottom:var(--spacing-2xl)}.module-learning-activity-type{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-md);text-transform:uppercase;letter-spacing:.5px}.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-label{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.module-learning-code-editor{width:100%;min-height:300px;padding:var(--spacing-md);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;background-color:var(--palette-neutral-900);color:var(--palette-neutral-50);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical}.module-learning-actions-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-xl)}.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:calc(100vh - 64px);display:flex;flex-direction:column;background-color:var(--color-background)}.assessment-chat-container{display:flex;flex-direction:column;height:100%;width:100%}.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-3xl);max-width:1200px;margin:0 auto}.student-assessment-list-header{margin-bottom:var(--spacing-3xl)}.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-list-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.student-assessment-stat-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);text-align:center}.student-assessment-stat-value{font-size:36px;font-weight:var(--font-weight-semibold);color:var(--color-primary);margin-bottom:var(--spacing-xs)}.student-assessment-stat-label{font-size:var(--font-size-body);color:var(--color-text-secondary)}.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-xl);display:grid;grid-template-columns:1fr 1fr auto;gap:var(--spacing-xl);align-items:start;transition:all .2s ease}.student-assessment-list-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.student-assessment-list-item-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.student-assessment-list-item-details{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-left:var(--spacing-lg);border-left:1px solid var(--color-border)}.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-label);color:var(--color-text-secondary)}.student-assessment-list-item-meta .material-symbols-outlined{font-size:18px}.student-assessment-list-item-actions{display:flex;gap:var(--spacing-sm)}.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-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-label);color:var(--color-primary);font-weight:var(--font-weight-medium)}.ai-mentor-standalone-wrapper{height:calc(100vh - 64px);display:flex;flex-direction:column;background-color:var(--color-background)}.ai-mentor-chat-gpt{display:flex;flex-direction:column;height:100%;width:100%;background-color:var(--color-background)}.ai-mentor-chat-gpt.standalone{max-width:100%}.ai-mentor-messages-container{flex:1;overflow-y:auto;display:flex;flex-direction:column}.ai-mentor-messages-wrapper{flex:1;display:flex;flex-direction:column}.ai-mentor-message-row{width:100%;padding:var(--spacing-2xl) 0;display:flex;justify-content:center;animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-mentor-message-row.mentor{background-color:var(--palette-neutral-50)}.ai-mentor-message-row.user{background-color:var(--color-surface)}.ai-mentor-message-inner{display:flex;gap:var(--spacing-lg);width:100%;max-width:800px;padding:0 var(--spacing-xl)}.ai-mentor-message-avatar-gpt{width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:24px}.ai-mentor-message-row.user .ai-mentor-message-avatar-gpt{background-color:var(--color-primary);color:var(--color-on-primary)}.ai-mentor-message-row.mentor .ai-mentor-message-avatar-gpt{background-color:#10a37f;color:var(--color-on-primary)}.ai-mentor-message-content-gpt{flex:1;min-width:0}.ai-mentor-message-text{font-size:16px;line-height:1.75;color:var(--color-text-primary);word-wrap:break-word;white-space:pre-wrap}.ai-mentor-message-actions{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-sm);opacity:0;transition:opacity .2s ease}.ai-mentor-message-row:hover .ai-mentor-message-actions{opacity:1}.ai-mentor-action-button{width:32px;height:32px;background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:18px}.ai-mentor-action-button:hover:not(:disabled){background-color:var(--palette-neutral-100);border-color:var(--color-text-secondary)}.ai-mentor-action-button:disabled{opacity:.5;cursor:not-allowed}.ai-mentor-typing-indicator-gpt{display:flex;gap:6px;padding:var(--spacing-md) 0}.ai-mentor-typing-continuation{width:100%;padding:0 0 var(--spacing-2xl) 0;display:flex;justify-content:center;background-color:var(--palette-neutral-50)}.ai-mentor-typing-indicator-inline{display:flex;gap:6px;padding:var(--spacing-sm) 0;margin-left:56px;width:100%;max-width:800px}.ai-mentor-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}.ai-mentor-typing-dot:nth-child(2){animation-delay:.2s}.ai-mentor-typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.ai-mentor-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}.ai-mentor-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}.ai-mentor-input-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #1976d21a}.ai-mentor-input-gpt{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}.ai-mentor-input-gpt::placeholder{color:var(--color-text-hint)}.ai-mentor-send-button-gpt{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}.ai-mentor-send-button-gpt:hover:not(:disabled){background-color:var(--palette-blue-700);transform:scale(1.05)}.ai-mentor-send-button-gpt:disabled{opacity:.4;cursor:not-allowed;background-color:var(--palette-neutral-300)}.ai-mentor-input-hint{margin-top:var(--spacing-sm);font-size:var(--font-size-label);color:var(--color-text-secondary);text-align:center}.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}.user-profile-header{margin-bottom:var(--spacing-3xl)}.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{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.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)}.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}.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 table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-md)}.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: 1024px){.student-dashboard-content{grid-template-columns:1fr}.student-dashboard-sidebar{order:-1}.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{font-size:32px}.student-dashboard-welcome,.student-roadmap-title,.student-assessment-list-title{font-size:28px}.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:1fr;gap:var(--spacing-lg)}.student-assessment-list-item-details{padding-left:0;border-left:none;border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}.student-assessment-list-item-actions{border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}}.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:calc(100vh - 64px);overflow-y:auto}.assessment-scope-header{padding:var(--spacing-xl);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--spacing-md);background-color:var(--palette-primary-50)}.assessment-scope-header .material-symbols-outlined{font-size:28px;color:var(--color-primary)}.assessment-scope-header h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin:0}.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-left:var(--spacing-xl)}.assessment-scope-skills{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-left:var(--spacing-xl)}.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);padding-left:var(--spacing-xl)}.assessment-scope-required-skill{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--palette-neutral-50);border-radius:var(--radius-sm);border-left:3px solid var(--color-primary)}.assessment-scope-required-skill-name{font-size:var(--font-size-caption);color:var(--color-text-primary);font-weight:var(--font-weight-medium);flex:1}.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}.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)}
