*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}@media (prefers-reduced-motion: no-preference){html{interpolate-size:allow-keywords}}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}#root,#__next{isolation:isolate}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:var(--text-color);background-color:var(--background-color);padding:0}h1,h2,h3,h4,h5,h6{margin-bottom:.5em;font-weight:600;line-height:1.2;color:var(--secondary-color)}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1rem}p{margin-bottom:1rem}pre{font-family:monospace}:root{--primary-color: #2980b9;--secondary-color: #2c3e50;--success-color: #27ae60;--warning-color: #f39c12;--error-color: #c0392b;--info-color: #5dade2;--info-hover-color: #4a8bc2;--muted-green: #6aaa64;--light-gray: #f5f5f5;--medium-gray: #e0e0e0;--dark-gray: #777;--text-color: #333;--background-color: #f9f9f9;--card-background: white;--border-color: #e0e0e0;--resizer-color: #e0e0e0;--resizer-hover-color: #5dade2;--resizer-active-color: #1a5276;--resizer-button-hover-color: #1a5276;--resizer-grabber-color: rgba(255, 255, 255, .9);--border-radius: 4px;--border-radius-md: 8px;--box-shadow: 0 2px 5px rgba(0, 0, 0, .1);--trait-header-bg: #e7f1f8;--trait-header-text: #2980b9;--reference-detail-bg: white;--trait-no-score-bg: #e7f1f8;--trait-no-score-text: #2980b9;--trait-correct-bg: #d4edda;--trait-correct-text: #155724;--trait-partial-bg: #fff3cd;--trait-partial-text: #856404;--trait-incorrect-bg: #f8d7da;--trait-incorrect-text: #721c24}:root.dark-mode{--primary-color: #3498db;--secondary-color: #5dade2;--success-color: #2ecc71;--warning-color: #f39c12;--error-color: #e74c3c;--info-color: #5dade2;--info-hover-color: #4a8bc2;--muted-green: #7fb069;--light-gray: #2c3e50;--medium-gray: #34495e;--dark-gray: #bdc3c7;--text-color: #ffffff;--background-color: #1a1a1a;--card-background: #1a1a1a;--border-color: #34495e;--resizer-color: #19232e;--resizer-hover-color: #3498db;--resizer-active-color: #0d2c4d;--resizer-button-hover-color: #0d2c4d;--resizer-grabber-color: #34495e;--box-shadow: 0 2px 5px rgba(0, 0, 0, .3);--trait-header-bg: #2980b9;--trait-header-text: #e7f1f8;--reference-detail-bg: #1e2a38;--trait-no-score-bg: #2980b9;--trait-no-score-text: #e7f1f8;--trait-correct-bg: #155724;--trait-correct-text: #d4edda;--trait-partial-bg: #856404;--trait-partial-text: #fff3cd;--trait-incorrect-bg: #721c24;--trait-incorrect-text: #f8d7da}.italic{font-style:italic}.not-italic{font-style:normal}.loading-indicator{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:#fffc;z-index:10;font-weight:700}.error-message{padding:1rem;color:var(--error-color);background-color:#c0392b1a;border-radius:var(--border-radius);margin-bottom:1rem}button{display:inline-block;padding:.75rem 1.5rem;background-color:var(--medium-gray);color:var(--text-color);border:none;border-radius:var(--border-radius);cursor:pointer;font-size:1rem;font-weight:600;text-decoration:none;text-align:center;transition:background-color .2s,transform .1s;margin:.25rem .5rem}button:hover{background-color:#d0d0d0}button:active{transform:translateY(1px)}button:disabled,button[disabled]{background-color:var(--medium-gray);color:var(--dark-gray);cursor:not-allowed;opacity:.6;pointer-events:none;box-shadow:none}button.primary{background-color:var(--primary-color);color:#fff}button.primary:hover{background-color:#2980b9}button.primary:disabled{background-color:#a0cfee;opacity:.7}button.secondary{background-color:var(--secondary-color);color:#fff}button.secondary:hover{background-color:#1a252f}button.secondary:disabled{background-color:#8fa5b5;opacity:.7}button.small{padding:.4rem .8rem;font-size:.9rem}label{display:inline-block;margin-bottom:.5rem;margin-right:.5rem;font-weight:500;vertical-align:middle}input[type=text],input[type=number],input[type=email],input[type=password],select,textarea{padding:.75rem;border:1px solid var(--medium-gray);border-radius:var(--border-radius);font-size:1rem;font-family:inherit;margin-right:.5rem;margin-bottom:.5rem;display:block;width:95%;background-color:var(--card-background);color:var(--text-color)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3498db33}input[type=radio],input[type=checkbox]{margin-right:.3rem;vertical-align:middle}.documentation-container{height:100%;width:100%;display:flex;flex-direction:column}.documentation-container .documentation-selector{padding:10px;flex-shrink:0}.documentation-container .documentation-selector select{width:100%;padding:8px;border-radius:4px;border:1px solid #ccc}.documentation-container .documentation-wrapper{position:relative;width:100%;flex:1;display:flex;flex-direction:column;border-radius:var(--border-radius);min-height:0}.documentation-container .documentation-iframe{flex:1;display:block;width:100%;height:100%;border:none;background-color:#fff;border-radius:inherit;box-shadow:var(--box-shadow);overflow:hidden}.portal-header{background:linear-gradient(135deg,#0a3059,#1a4a78);border-bottom:2px solid rgba(255,255,255,.1);padding:1rem 0;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #00000026}.portal-header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.portal-header-left{display:flex;align-items:center}.portal-header-branding{display:flex;align-items:baseline;gap:.75rem}.portal-header-title{margin:0;font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.5px}.portal-header-subtitle{font-size:1rem;font-weight:400;color:#ffffffd9;padding-left:.75rem;border-left:2px solid rgba(255,255,255,.3)}.portal-header-right{display:flex;align-items:center}.portal-header-user{display:flex;align-items:center;gap:1rem}.portal-header-username{font-size:.9rem;color:#ffffffe6;font-weight:500}@media (max-width: 768px){.portal-header-content{padding:0 1rem}.portal-header-title{font-size:1.25rem}.portal-header-username{display:none}}@media (max-width: 600px){.portal-header-branding{flex-direction:column;gap:.25rem;align-items:flex-start}.portal-header-subtitle{padding-left:0;border-left:none;font-size:.85rem}}@media (prefers-color-scheme: light){.portal-header{background:linear-gradient(135deg,#0a3059,#1a4a78);border-bottom:2px solid rgba(255,255,255,.1)}.portal-header-title{color:#fff}.portal-header-subtitle{color:#ffffffd9}.portal-header-username{color:#ffffffe6}}.app-card{display:flex;align-items:center;padding:1.5rem;background:#1a1a1a;border:1px solid #333;border-radius:8px;text-decoration:none;color:inherit;transition:all .3s ease;gap:1rem}.app-card:hover{background:#2a2a2a;border-color:#646cff;transform:translateY(-2px);box-shadow:0 4px 12px #646cff33}.app-card-icon{font-size:2.5rem;flex-shrink:0}.app-card-content{flex:1;min-width:0}.app-card-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#fff}.app-card-description{margin:0;font-size:.9rem;color:#ffffffb3;line-height:1.4}.app-card-arrow{font-size:1.5rem;color:#646cff;flex-shrink:0;transition:transform .3s ease}.app-card:hover .app-card-arrow{transform:translate(4px)}@media (prefers-color-scheme: light){.app-card{background:#fff;border-color:#ddd;color:#213547}.app-card:hover{background:#f9f9f9;border-color:#646cff}.app-card-title{color:#213547}.app-card-description{color:#213547b3}}.dashboard{min-height:calc(100vh - 80px);padding:3rem 0;background:linear-gradient(to bottom,rgba(10,48,89,.03) 0%,transparent 50%)}.dashboard-container{max-width:1200px;margin:0 auto;padding:0 2rem}.dashboard-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:2px solid rgba(10,48,89,.1)}.dashboard-title{margin:0 0 .5rem;font-size:2rem;font-weight:700;color:#0a3059;letter-spacing:-.5px}.dashboard-subtitle{margin:0;font-size:1.05rem;color:#4a5568;line-height:1.5}.apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.loading{text-align:center;padding:4rem 2rem;font-size:1.1rem;color:#4a5568}.no-apps{text-align:center;padding:4rem 2rem;max-width:500px;margin:0 auto;background:#0a305905;border-radius:12px;border:2px dashed rgba(10,48,89,.15)}.no-apps-icon{font-size:4rem;margin-bottom:1rem;opacity:.7}.no-apps h2{margin:0 0 1rem;font-size:1.5rem;font-weight:700;color:#0a3059}.no-apps p{margin:0;font-size:1rem;color:#4a5568;line-height:1.6}@media (max-width: 768px){.dashboard-container{padding:0 1rem}.dashboard-title{font-size:1.5rem}.apps-grid{grid-template-columns:1fr;gap:1rem}}@media (prefers-color-scheme: light){.dashboard-title{color:#213547}.dashboard-subtitle,.loading{color:#213547b3}.no-apps h2{color:#213547}.no-apps p{color:#213547b3}}.portal-app{min-height:100vh;display:flex;flex-direction:column}.portal-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#242424}.portal-loading-spinner{font-size:1.2rem;color:#ffffffb3}.portal-signin{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a3059,#1a4a78,#0a3059);padding:2rem}.portal-signin-container{text-align:center;max-width:500px;width:100%;background:#fffffffa;padding:3rem 2.5rem;border-radius:16px;box-shadow:0 20px 60px #0000004d}.portal-logo-section{margin-bottom:1.5rem}.portal-logo{max-width:200px;height:auto;display:block;margin:0 auto}.portal-branding{margin-bottom:1.5rem}.portal-company-name{margin:0 0 .5rem;font-size:2rem;font-weight:700;color:#0a3059;letter-spacing:-.5px}.portal-system-name{margin:0;font-size:1.5rem;font-weight:500;color:#4a5568;letter-spacing:-.25px}.portal-welcome-text{margin:0 0 2rem;font-size:1rem;line-height:1.6;color:#4a5568;text-align:left;padding:0 .5rem}.portal-signin-button-wrapper{margin-top:2rem}.portal-signin-title{margin:0 0 .5rem;font-size:2rem;font-weight:600;color:#0a3059}.portal-signin-subtitle{margin:0 0 2rem;font-size:1rem;color:#4a5568}.portal-welcome-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;color:#fff;background:#646cff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;font-family:inherit}.portal-welcome-button:hover{background:#535bf2;transform:translateY(-2px);box-shadow:0 4px 12px #646cff4d}.portal-welcome-button:active{transform:translateY(0)}.portal-welcome-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.portal-welcome-button:disabled:hover{background:#646cff;transform:none;box-shadow:none}.portal-error-message{margin:1rem 0;padding:.75rem 1rem;background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:6px;color:#dc2626;font-size:.9rem;text-align:center}@media (prefers-color-scheme: light){.portal-loading{background:linear-gradient(135deg,#0a3059,#1a4a78,#0a3059)}.portal-loading-spinner{color:#ffffffe6}.portal-signin{background:linear-gradient(135deg,#0a3059,#1a4a78,#0a3059)}.portal-signin-container{background:#fffffffa}.portal-company-name{color:#0a3059}.portal-system-name,.portal-welcome-text{color:#4a5568}.portal-signin-title{color:#0a3059}.portal-signin-subtitle{color:#4a5568}}.NavigationContainer{display:flex;justify-content:center;align-items:center;padding:.5rem;background-color:var(--light-gray);border-radius:var(--border-radius);border-bottom:1px solid var(--medium-gray);flex-wrap:wrap;gap:.25rem;container-type:inline-size;min-height:3rem}.NavigationContainer .navigation-controls{display:flex;flex-direction:column;align-items:center;gap:.125rem;width:100%;min-width:0}.NavigationContainer .student-response-text{font-weight:500;white-space:nowrap;text-align:center;width:100%;overflow:hidden;text-overflow:ellipsis}.NavigationContainer .navigation-buttons{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;justify-content:center;min-width:0}.NavigationContainer .navigation-buttons button{padding:.2rem .4rem;font-size:.75rem;border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s;white-space:nowrap;min-width:0;flex-shrink:1}@container (max-width: 400px){.NavigationContainer .navigation-controls{flex-direction:column;align-items:center;gap:.25rem}.NavigationContainer .student-response-text{width:auto;text-align:center;font-size:.8rem}.NavigationContainer .navigation-buttons{gap:.125rem;flex-wrap:nowrap}.NavigationContainer .navigation-buttons button{padding:.3rem .6rem;font-size:.75rem}}@container (max-width: 200px){.NavigationContainer .student-response-text{display:none}.NavigationContainer .navigation-controls{justify-content:center}.NavigationContainer .navigation-buttons button{padding:.25rem .5rem;font-size:.7rem}}@media (max-width: 600px){.NavigationContainer .navigation-controls{flex-direction:column;align-items:center;gap:.25rem}.NavigationContainer .student-response-text{width:auto;text-align:center;font-size:.8rem}.NavigationContainer .navigation-buttons{gap:.125rem;flex-wrap:nowrap}.NavigationContainer .navigation-buttons button{padding:.3rem .6rem;font-size:.75rem}}@media (max-width: 200px){.NavigationContainer .student-response-text{display:none}.NavigationContainer .navigation-controls{justify-content:center}.NavigationContainer .navigation-buttons button{padding:.25rem .5rem;font-size:.7rem}}.ScoringControls{margin-top:0;padding:10px}.ScoringControls.horizontal-layout{padding:0}.ScoringControls .scoring-options-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:.25rem 0}.ScoringControls .score-buttons-inline{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;min-width:0;flex:0 0 auto;justify-content:flex-start}.ScoringControls .condition-code-buttons-inline{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;min-width:0;flex:1 1 auto;justify-content:flex-start;width:100%}.ScoringControls .score-buttons{display:flex;flex-wrap:wrap;gap:0;margin:.5rem 0;align-items:center;justify-content:flex-start}.ScoringControls .condition-code-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;align-items:center;justify-content:flex-start;padding:.25rem 0}.ScoringControls .score-label,.ScoringControls .condition-label{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--medium-gray);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s;background-color:var(--card-background);color:var(--text-color);text-align:center;font-size:.75rem;height:1.8rem;width:auto;min-width:1.8rem;padding:0 .4rem;margin-bottom:0;margin-right:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.ScoringControls .score-label{max-width:3rem}.ScoringControls .condition-label{max-width:none;min-width:fit-content}.ScoringControls .score-label:disabled,.ScoringControls .condition-label:disabled,.ScoringControls .score-label.disabled,.ScoringControls .condition-label.disabled{opacity:.4;cursor:not-allowed;background-color:var(--light-gray);color:var(--medium-gray);border-color:var(--light-gray);pointer-events:none}.ScoringControls .score-label:disabled input[type=radio],.ScoringControls .condition-label:disabled input[type=radio],.ScoringControls .score-label.disabled input[type=radio],.ScoringControls .condition-label.disabled input[type=radio]{pointer-events:none}.ScoringControls .score-label input[type=radio],.ScoringControls .condition-label input[type=radio]{opacity:0;position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;margin:-1px}.ScoringControls .score-label:hover,.ScoringControls .condition-label:hover{border-color:var(--secondary-color)}.ScoringControls .score-label:has(input[type=radio]:checked){background-color:var(--primary-color);color:#fff!important;border-color:var(--primary-color);font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.8)}.ScoringControls .condition-label:has(input[type=radio]:checked){background-color:var(--primary-color);color:#fff!important;border-color:var(--primary-color);font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.8)}.ScoringControls .tab-buttons{display:flex;border-bottom:1px solid var(--medium-gray)}.ScoringControls .tab-buttons button{padding:.4rem .8rem;font-size:.85rem;background-color:var(--light-gray);color:var(--secondary-color);border:1px solid var(--medium-gray);border-bottom:none;border-radius:var(--border-radius) var(--border-radius) 0 0;margin:0 .2rem 0 0;opacity:.7;position:relative;z-index:1;cursor:pointer}.ScoringControls .tab-buttons button:hover{background-color:var(--medium-gray);opacity:1}.ScoringControls .tab-buttons button.active{background-color:var( --card-background );border-color:var(--medium-gray);border-bottom:1px solid var(--card-background);margin-bottom:-1px;opacity:1;font-weight:700;z-index:3;color:var(--text-color)}.ScoringControls .tab-buttons button:nth-child(2){color:var(--warning-color)}.ScoringControls .tab-buttons button:nth-child(2).active{border-top-color:var(--warning-color);border-left-color:var(--warning-color);border-right-color:var(--warning-color)}.ScoringControls .condition-codes{margin:1rem 0;border-radius:var(--border-radius)}.ScoringControls .condition-code-select{width:100%;padding:.5rem;border:1px solid var(--medium-gray);border-radius:var(--border-radius);background-color:var(--card-background);color:var(--text-color);font-size:.9rem;margin-top:.5rem;cursor:pointer;height:2.5rem}.ScoringControls .condition-code-select:focus{border-color:var(--warning-color);outline:none;box-shadow:0 0 0 2px #f39c1233}.ScoringControls .condition-code-select option{padding:.5rem}.ScoringControls .rationale-container{margin-top:.5rem;margin-bottom:0}.ScoringControls .rationale-container textarea{width:100%;margin:0;padding:.5rem;min-height:2.5rem;resize:vertical;overflow-y:hidden;transition:height .2s;box-sizing:border-box;height:auto}.ScoringControls .rationale-container textarea:focus,.ScoringControls .rationale-container textarea:not(:placeholder-shown){overflow-y:auto}.ScoringControls .confidence-container{margin-top:.5rem}.ScoringControls .confidence-container input[type=range]{width:100%;margin-top:.5rem;cursor:pointer;background:transparent}.ScoringControls .confidence-container input[type=range]::-webkit-slider-track{width:100%;height:6px;background:var(--medium-gray);border-radius:3px;border:none}.ScoringControls .confidence-container input[type=range]::-moz-range-track{width:100%;height:6px;background:var(--medium-gray);border-radius:3px;border:none}.ScoringControls .confidence-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--dark-gray);border-radius:50%;cursor:pointer;border:2px solid var(--card-background);box-shadow:0 2px 4px #0003}.ScoringControls .confidence-container input[type=range]::-moz-range-thumb{width:18px;height:18px;background:var(--dark-gray);border-radius:50%;cursor:pointer;border:2px solid var(--card-background);box-shadow:0 2px 4px #0003}.ScoringControls .confidence-labels{display:flex;justify-content:space-between;margin-top:.25rem;font-size:.8rem;color:var(--dark-gray);padding:0 5px}@media (max-width: 768px){.ScoringControls .scoring-options-row{gap:clamp(.2rem,.8vw,.5rem);flex-direction:column;align-items:flex-start}.ScoringControls .score-buttons-inline,.ScoringControls .condition-code-buttons-inline{gap:clamp(.05rem,.3vw,.15rem);flex-wrap:wrap;width:100%}}@media (max-width: 480px){.ScoringControls .scoring-options-row{flex-direction:column;align-items:stretch}.ScoringControls .score-buttons-inline,.ScoringControls .condition-code-buttons-inline{justify-content:flex-start;width:100%}.ScoringControls .score-buttons,.ScoringControls .condition-code-buttons{max-width:100%;overflow-x:auto}}@media (max-width: 600px){.ScoringControls .ScoringControls{overflow-x:visible}.ScoringControls .trait-scoring-row{min-height:auto;overflow:visible}.ScoringControls .scoring-options-row>*{flex-shrink:0}}.ScoringContainer{margin-top:0;position:relative;@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}}.ScoringContainer .scoring-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.ScoringContainer .scoring-header h4{margin:0;font-size:1.1em;font-weight:600}.ScoringContainer .scoring-header h4:first-child{color:var(--primary-color, #2c3e50)}.ScoringContainer .scoring-header h4:last-child{color:var(--secondary-color, #7f8c8d);font-size:1em}.ScoringContainer .response-part-container{margin-left:0;border-left:none;padding-left:0}.ScoringContainer .trait-container{margin-top:.75rem;background-color:var(--light-gray);border-radius:var(--border-radius-md);border:1px solid var(--medium-gray)}.ScoringContainer .trait-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;border-bottom:none;border-radius:var(--border-radius) var(--border-radius) 0 0;background-color:var(--trait-header-bg);padding:8px 12px}.ScoringContainer .trait-header h5{margin:0;font-size:1em;color:var(--trait-header-text);font-weight:700}.ScoringContainer .view-rubric-btn{padding:.3rem .6rem;font-size:.8rem;background-color:var(--info-color);color:#fff;border-radius:var(--border-radius)}.ScoringContainer .view-rubric-btn:hover{background-color:var(--info-hover-color)}.ScoringContainer .horizontal-trait{background-color:transparent;border:none;margin-bottom:1rem}.ScoringContainer .responsive-trait{width:100%;max-width:none;min-width:0;flex:1}@media (max-width: 1200px){.ScoringContainer .responsive-trait .trait-scoring-row{flex-wrap:wrap;gap:.5rem}}@media (max-width: 768px){.ScoringContainer .responsive-trait{margin-bottom:.75rem}.ScoringContainer .responsive-trait .trait-header-blue{padding:.25rem .75rem;font-size:.85rem}.ScoringContainer .responsive-trait .trait-scoring-row{flex-direction:column;gap:.5rem}}@media (max-width: 480px){.ScoringContainer .responsive-trait .trait-header-blue{flex-direction:column;align-items:flex-start;gap:.25rem}.ScoringContainer .responsive-trait .rubric-btn-header{align-self:flex-end}}.ScoringContainer .trait-header-blue{background-color:#5b9bd5;color:#fff;padding:.3rem 1rem;border-radius:var(--border-radius);margin-bottom:.5rem;font-weight:700;font-size:.9rem;display:flex;justify-content:space-between;align-items:center}.ScoringContainer .rubric-btn-header{padding:.25rem .5rem;font-size:.75rem;background-color:#ffffffe6;color:#5b9bd5;border:1px solid rgba(255,255,255,1);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s;white-space:nowrap;font-weight:600}.ScoringContainer .rubric-btn-header:hover{background-color:#fff;border-color:#fff;color:#4a8bc2}.ScoringContainer .trait-name{font-weight:700}.ScoringContainer .trait-scoring-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;min-width:0;width:100%;overflow:visible}.ScoringContainer .view-rubric-btn-inline{padding:.4rem .8rem;font-size:.85rem;background-color:var(--info-color);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s;white-space:nowrap}.ScoringContainer .view-rubric-btn-inline:hover{background-color:var(--info-hover-color)}.ScoringContainer .rule-notification{position:fixed;top:20px;right:20px;z-index:1000;background-color:#4caf50;color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;animation:slideInRight .3s ease-out;max-width:400px}.ScoringContainer .rule-notification-content{display:flex;align-items:center;padding:12px 16px;gap:8px}.ScoringContainer .rule-notification-icon{font-size:1.2em;flex-shrink:0}.ScoringContainer .rule-notification-message{font-size:.9em;line-height:1.4}.JobCard{background-color:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:.75rem;margin:0;border-left:5px solid var(--primary-color)}.JobCard .job-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid var(--medium-gray)}.JobCard .job-content-layout{display:flex;gap:1rem;margin-bottom:0}.JobCard .job-content-layout .scoring-panel{flex:1;min-width:300px;width:33%;max-width:40%;padding-right:.5rem}.JobCard .job-content-layout .response-panel{flex:2;position:relative;min-width:300px}@media (max-width: 1024px){.JobCard .job-content-layout{flex-direction:column-reverse}.JobCard .job-content-layout .scoring-panel,.JobCard .job-content-layout .response-panel{max-width:100%;width:100%}.JobCard .job-content-layout .scoring-panel{margin-top:1.5rem}}@container (max-width: 700px){.JobCard .job-content-layout{flex-direction:column-reverse;gap:0;margin-bottom:.5rem}.JobCard .job-content-layout .scoring-panel,.JobCard .job-content-layout .response-panel{max-width:100%;width:100%;padding:0}.JobCard .job-content-layout .scoring-panel{margin-top:.25rem}.JobCard .response-container{margin-bottom:.5rem;padding-bottom:.5rem}}.DraggableDialog.overlay-style{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0006;display:flex;justify-content:center;align-items:center;z-index:99999}.DraggableDialog.modal-style{position:absolute;background-color:var(--card-background);color:var(--text-color);border-radius:5px;box-shadow:0 4px 20px #00000080;max-width:95vw;max-height:95vh;overflow:hidden;display:flex;flex-direction:column}.DraggableDialog .dialog-header{cursor:grab;padding:.75rem 1rem;background-color:var(--secondary-color);color:"white";-webkit-user-select:none;user-select:none;display:flex;justify-content:space-between;align-items:center}.DraggableDialog.alert .dialog-header{background-color:var(--error-color)}.DraggableDialog.warning .dialog-header{background-color:var(--warning-color)}.DraggableDialog .dialog-content{padding:10px 15px;overflow:auto;flex:1;border:none;box-shadow:none;width:100%;min-width:100%}.DraggableDialog .modal-buttons{display:flex;justify-content:flex-end;gap:10px;padding:10px 15px;margin-top:5px}.DraggableDialog .modal-buttons button{padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s ease}.DraggableDialog .modal-buttons button.primary{background-color:#dc3545;color:#fff;border:1px solid #dc3545}.DraggableDialog .modal-buttons button.primary:hover{background-color:#c82333}.DraggableDialog .modal-buttons button.secondary{background-color:#e2e3e5;color:#383d41;border:1px solid #d6d8db}.DraggableDialog .modal-buttons button.secondary:hover{background-color:#d6d8db}.DraggableDialog .modal-buttons button.warning{background-color:var(--warning-color);color:#fff}.DraggableDialog .modal-buttons button:disabled{opacity:.6;cursor:not-allowed}.DraggableDialog .resize-handle{position:absolute;bottom:0;right:0;width:30px;height:30px;cursor:nwse-resize;background:transparent}.DraggableDialog .resize-handle:after{content:"";position:absolute;bottom:3px;right:3px;width:15px;height:15px;border-right:3px solid var(--dark-gray);border-bottom:3px solid var(--dark-gray)}.DraggableDialog .resize-handle:hover:after{border-right:3px solid var(--primary-color);border-bottom:3px solid var(--primary-color)}.DraggableDialog .modal-close-btn{background:none;border:none;font-size:1.75rem;line-height:1;cursor:pointer;padding:0 .5rem;color:var(--light-gray);margin:0}.DraggableDialog .modal-close-btn:hover{color:var(--medium-gray)}.error-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.error-modal{background:var(--background-color, white);border-radius:8px;box-shadow:0 10px 25px #0003;max-width:500px;width:90%;max-height:100vh;overflow:hidden;animation:slideIn .3s ease-out;border:1px solid var(--border-color, #ddd)}.error-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid var(--border-color, #eee);background:var(--error-header-bg, #fef2f2)}.error-modal-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--error-color, #dc2626)}.error-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-color-secondary, #666);padding:4px;border-radius:4px;transition:background-color .2s ease}.error-modal-close:hover{background-color:var(--hover-color, #f3f4f6);color:var(--text-color, #333)}.error-modal-body{padding:24px;display:flex;align-items:flex-start;gap:16px}.error-icon{font-size:2rem;flex-shrink:0;margin-top:2px}.error-message{margin:0;font-size:1rem;line-height:1.5;color:var(--text-color, #333);flex:1}.error-modal-footer{padding:16px 24px 24px;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--border-color, #eee);background:var(--background-color-secondary, #fafafa)}.error-modal-button{padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent;min-width:80px}.error-modal-button.primary{background-color:var(--primary-color, #2563eb);color:#fff;border-color:var(--primary-color, #2563eb)}.error-modal-button.primary:hover{background-color:var(--primary-hover-color, #1d4ed8);border-color:var(--primary-hover-color, #1d4ed8)}.error-modal-button.secondary{background-color:var(--background-color, white);color:var(--text-color, #374151);border-color:var(--border-color, #d1d5db)}.error-modal-button.secondary:hover{background-color:var(--hover-color, #f9fafb);border-color:var(--border-hover-color, #9ca3af)}.error-modal-button:focus{outline:2px solid var(--focus-color, #3b82f6);outline-offset:2px}.error-modal-button:disabled{opacity:.5;cursor:not-allowed}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-color-scheme: dark){.error-modal{--background-color: #1f2937;--background-color-secondary: #111827;--text-color: #f9fafb;--text-color-secondary: #9ca3af;--border-color: #374151;--border-hover-color: #4b5563;--hover-color: #374151;--error-header-bg: #7f1d1d;--error-color: #f87171;--primary-color: #3b82f6;--primary-hover-color: #2563eb;--focus-color: #60a5fa}}@media (max-width: 640px){.error-modal{width:95%;margin:20px}.error-modal-header,.error-modal-body,.error-modal-footer{padding-left:16px;padding-right:16px}.error-modal-footer{flex-direction:column-reverse}.error-modal-button{width:100%;justify-content:center}}.RubricPanel{padding:1rem;border-top:none}.RubricPanel .rubric-content{padding:0;border:none;background-color:transparent;overflow-y:visible!important;height:auto!important;max-height:none!important}.RubricPanel .rubric-content table{width:100%;border-collapse:collapse}.RubricPanel .rubric-content th,.RubricPanel .rubric-content td{padding:.75rem;text-align:left;border-bottom:1px solid var(--medium-gray)}.RubricPanel .rubric-content th{background-color:var(--secondary-color);color:#fff;position:sticky;top:0;border-top:none}.message-card{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-bottom:12px;transition:all .2s ease;position:relative}.message-card:hover{box-shadow:0 2px 8px #0000001a;border-color:var(--primary-color)}.message-card.unread{border-left:4px solid var(--primary-color);background-color:var(--unread-background, #f0f7ff)}.message-card.read{opacity:.85}.message-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.message-header-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;margin-right:8px}.message-status-icon{font-size:18px;display:flex;align-items:center;justify-content:center}.message-status-icon.unread{color:#3b82f6}.message-status-icon.read{color:#9ca3af;opacity:.6}.message-sender-name{font-weight:600;font-size:14px;color:var(--text-color)}.message-sender-role{font-size:12px;color:var(--secondary-text-color);font-style:italic}.message-separator{color:var(--secondary-text-color);font-weight:400}.message-subject-inline{font-weight:500;font-size:14px;color:var(--primary-color, #3b82f6);background-color:#3b82f61a;padding:2px 8px;border-radius:4px}.message-date-time{font-size:12px;color:var(--secondary-text-color);white-space:nowrap}.message-content{margin-bottom:12px;display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.message-text-inline{font-size:14px;line-height:1.5;color:var(--text-color);display:inline}.message-view-detail-link{display:inline;color:#3b82f6;text-decoration:none;font-size:12px;font-weight:400;white-space:nowrap;margin-left:4px;font-style:italic;opacity:.9}.message-view-detail-link:hover{text-decoration:underline;opacity:1}.message-reference-link{display:inline-block;margin-top:8px;color:var(--primary-color);text-decoration:none;font-size:13px;font-weight:500}.message-reference-link:hover{text-decoration:underline}.message-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.message-actions-left,.message-actions-right{display:flex;gap:8px;flex-wrap:wrap}.btn-message-action{padding:6px 12px;border-radius:4px;border:1px solid var(--border-color);background-color:var(--button-background);color:var(--text-color);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-message-action:hover{background-color:var(--button-hover-background);border-color:var(--primary-color)}.btn-message-action:active{transform:scale(.98)}.btn-see-more{color:var(--primary-color)}.btn-view-detail{background-color:#3b82f6;color:#fff;border-color:#3b82f6;font-weight:500}.btn-view-detail:hover{background-color:#2563eb;border-color:#2563eb}.btn-view-response{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-view-response:hover{background-color:var(--primary-hover-color)}.btn-mark-read{background-color:var(--success-color, #28a745);color:#fff;border-color:var(--success-color, #28a745)}.btn-mark-read:hover{background-color:var(--success-hover-color, #218838)}.message-task-badge{position:absolute;top:10px;right:10px;background-color:#3b82f6;color:#fff;padding:6px 12px;border-radius:12px;font-size:.75rem;font-weight:500;border:none;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.message-task-badge:hover{background-color:#2563eb;transform:scale(1.05)}.message-task-badge:active{transform:scale(.98)}@media (max-width: 768px){.message-card{padding:12px}.message-card-header{flex-direction:column;align-items:flex-start;gap:6px}.message-header-left{flex-direction:column;align-items:flex-start;gap:2px}.message-date-time{align-self:flex-start}.message-actions{flex-direction:column;align-items:stretch}.message-actions-left,.message-actions-right{width:100%}.btn-message-action{width:100%;text-align:center}.message-task-badge{position:static;display:inline-block;margin-top:8px}}.response-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:99999;opacity:1;transition:opacity .3s ease-in-out;pointer-events:auto}.response-modal-container{position:fixed;top:0;right:0;width:min(70%,1200px);height:100vh;background-color:#fff;box-shadow:-4px 0 12px #00000026;z-index:100000;transform:translate(0);transition:transform .3s ease-in-out;display:flex;flex-direction:column;overflow:hidden;border:1px solid #dee2e6}.response-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #dee2e6;background-color:#f8f9fa;flex-shrink:0}.response-modal-title{margin:0;font-size:20px;font-weight:600;color:#333}.response-modal-close-btn{background:none;border:none;font-size:28px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.response-modal-close-btn:hover{background-color:#e9ecef;color:#333}.response-modal-close-btn:active{transform:scale(.95)}.response-modal-body-single-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.response-content-section{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:#fff;border-bottom:1px solid #e0e0e0}.section-title{margin:0;padding:16px 20px;font-size:16px;font-weight:600;color:#333;border-bottom:1px solid #e0e0e0;background-color:#f8f9fa;flex-shrink:0}.scores-section-compact{flex-shrink:0;display:flex;flex-direction:column;background-color:#f0f8ff;border-bottom:1px solid #e0e0e0}.scores-content-inline{padding:16px 20px;background-color:#f0f8ff}.part-scores-inline{margin-bottom:12px}.part-scores-inline:last-child{margin-bottom:0}.part-name-inline{font-weight:600;color:#333;margin-right:8px;display:block;padding-bottom:8px;border-bottom:1px solid #dee2e6;margin-bottom:8px}.part-separator{margin:0 8px;color:#999}.traits-inline{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.trait-inline{display:inline-flex;align-items:center;gap:4px}.trait-name-inline{color:#495057;font-weight:500}.score-value-inline{font-weight:600;color:#007bff;background-color:#e7f3ff;padding:2px 8px;border-radius:3px;border:none;font-family:monospace;cursor:default;-webkit-user-select:none;user-select:none}.trait-separator{margin:0 6px;color:#999}.scores-section{flex-shrink:0;max-height:40%;overflow-y:auto;background-color:#f8f9fa;border-top:2px solid #dee2e6}.scores-content{padding:16px 20px;display:flex;flex-direction:column;gap:20px}.part-section{display:flex;flex-direction:column;gap:10px}.part-title{margin:0 0 8px;font-size:15px;font-weight:600;color:#495057;padding-bottom:8px;border-bottom:2px solid #dee2e6}.traits-list{display:flex;flex-direction:column;gap:10px}.trait-score{display:flex;align-items:center;gap:12px;padding:8px 12px;background-color:#f8f9fa;border-radius:4px;border:1px solid #e9ecef}.trait-name{font-weight:500;color:#495057;min-width:120px}.score-value{font-family:monospace;font-weight:600;font-size:15px;color:#007bff;background-color:#fff;padding:4px 12px;border-radius:4px;border:1px solid #dee2e6}.score-note{margin-top:6px;font-size:13px;color:#666;font-style:italic;padding-left:132px}.response-viewer-container{flex:1;padding:16px;overflow:hidden;display:flex;flex-direction:column;min-height:0}.response-viewer-container .modal-response-viewer{flex:1;display:flex;flex-direction:column;min-height:0}.response-viewer-container .response-viewer-wrapper,.response-viewer-container [class*=response-viewer]{flex:1;min-height:0;display:flex;flex-direction:column}.loading-indicator,.no-messages,.no-response{padding:32px;text-align:center;color:#666;font-size:14px}.url-response-notice,.invalid-response-notice{flex:1;display:flex;align-items:center;justify-content:center;padding:32px}.url-response-notice .notice-content,.invalid-response-notice .notice-content{max-width:600px;padding:24px;background-color:#fff3cd;border:2px solid #ffc107;border-radius:8px;text-align:center}.invalid-response-notice .notice-content{background-color:#f8d7da;border-color:#dc3545}.url-response-notice h4,.invalid-response-notice h4{margin:0 0 12px;color:#856404;font-size:18px;font-weight:600}.invalid-response-notice h4{color:#721c24}.url-response-notice p,.invalid-response-notice p{margin:8px 0;color:#856404;font-size:14px;line-height:1.5}.invalid-response-notice p{color:#721c24}.url-text{font-family:monospace;background-color:#0000000d;padding:8px 12px;border-radius:4px;word-break:break-all;font-weight:600}.notice-info{font-style:italic;font-size:13px!important;margin-top:12px!important}.response-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid #e0e0e0;background-color:#f8f9fa;flex-shrink:0}.response-modal-info{display:flex;gap:20px;flex-wrap:wrap}.response-modal-info-item{font-size:13px;color:#666}.response-modal-info-item strong{color:#333;font-weight:600}.response-modal-close-footer-btn{padding:10px 24px;background-color:#007bff;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.response-modal-close-footer-btn:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #007bff4d}.response-modal-close-footer-btn:active{transform:translateY(0)}.conversation-thread::-webkit-scrollbar{width:8px}.conversation-thread::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.conversation-thread::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.conversation-thread::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width: 1024px){.response-modal-container{width:85%}.scores-section{max-height:50%}}@media (max-width: 768px){.response-modal-container{width:100%}.response-modal-header{padding:16px}.response-modal-title{font-size:18px}.response-modal-footer{flex-direction:column;gap:12px;align-items:stretch}.response-modal-info{flex-direction:column;gap:8px}.response-modal-close-footer-btn{width:100%}.trait-score{flex-direction:column;align-items:flex-start}.score-note{padding-left:0}}.conversation-reply-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.conversation-reply-modal-container{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;width:70vw;max-width:70vw;height:70vh;max-height:70vh;display:flex;flex-direction:column;overflow:hidden}.conversation-reply-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.conversation-reply-modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.conversation-reply-modal-close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:4px 8px;line-height:1;border-radius:4px;transition:background-color .2s,color .2s}.conversation-reply-modal-close-btn:hover{background-color:#f3f4f6;color:#111827}.conversation-reply-modal-body{flex:1;overflow-y:auto;padding:24px}.original-question{margin:0 0 1.5rem;padding:1.25rem;background-color:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.question-label{font-weight:600;color:#1976d2;font-size:.95rem}.question-time{font-size:.8rem;color:#5c6bc0}.question-content{color:#2c3e50;line-height:1.6;word-wrap:break-word;font-size:.95rem}.support-reply{margin:0 0 1.5rem;padding:1.25rem;background-color:#fff3e0;border-left:4px solid #ff9800;border-radius:4px}.reply-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.reply-label{font-weight:600;color:#e65100;font-size:.95rem}.reply-time{font-size:.8rem;color:#f57c00}.reply-content{color:#2c3e50;line-height:1.6;word-wrap:break-word;font-size:.95rem}.message-html-content{color:#1f2937;line-height:1.6}.message-html-content h1,.message-html-content h2,.message-html-content h3,.message-html-content h4,.message-html-content h5,.message-html-content h6{margin:16px 0 8px;font-weight:600;color:#111827}.message-html-content h1{font-size:1.5rem}.message-html-content h2{font-size:1.25rem}.message-html-content h3{font-size:1.125rem}.message-html-content h4{font-size:1rem}.message-html-content h5{font-size:.938rem}.message-html-content h6{font-size:.875rem}.message-html-content p{margin:8px 0}.message-html-content ul,.message-html-content ol{margin:8px 0;padding-left:24px}.message-html-content li{margin:4px 0}.message-html-content a{color:#2563eb;text-decoration:underline}.message-html-content a:hover{color:#1d4ed8}.message-html-content strong{font-weight:600}.message-html-content em{font-style:italic}.message-html-content code{background-color:#f3f4f6;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:.875rem}.message-html-content pre{background-color:#f3f4f6;padding:12px;border-radius:6px;overflow-x:auto;margin:12px 0}.message-html-content pre code{background:none;padding:0}.message-html-content blockquote{border-left:4px solid #d1d5db;padding-left:16px;margin:12px 0;color:#6b7280;font-style:italic}.message-html-content table{border-collapse:collapse;width:100%;margin:12px 0}.message-html-content th,.message-html-content td{border:1px solid #e5e7eb;padding:8px;text-align:left}.message-html-content th{background-color:#f3f4f6;font-weight:600}.loading-indicator,.no-messages{text-align:center;padding:40px 20px;color:#6b7280;font-size:.938rem}.conversation-reply-modal-footer{padding:16px 24px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;background:#f9fafb}.conversation-reply-modal-close-footer-btn{padding:10px 24px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.938rem;font-weight:500;cursor:pointer;transition:background-color .2s}.conversation-reply-modal-close-footer-btn:hover{background-color:#2563eb}.conversation-reply-modal-close-footer-btn:active{background-color:#1d4ed8}@media (max-width: 768px){.conversation-reply-modal-container{max-width:100%;max-height:90vh;margin:10px}.conversation-reply-modal-header,.conversation-reply-modal-body,.conversation-reply-modal-footer{padding:16px}.conversation-message{padding:12px}}.MessagesPage{background-color:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:1.5rem;border-left:5px solid var(--primary-color)}.MessagesPage .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.MessagesPage .card-header h2{margin:0;color:var(--text-color)}.MessagesPage .card-header button{background:none;border:none;font-size:20px;cursor:pointer;padding:5px 10px;border-radius:4px;color:var(--text-color);transition:background-color .2s ease}.MessagesPage .card-header button:hover{background-color:var(--medium-gray)}.MessagesPage .messages-filters-container{margin-bottom:15px}.MessagesPage .timespan-selector{display:flex;align-items:center;margin-bottom:10px}.MessagesPage .timespan-selector label{margin-right:10px;color:var(--text-color)}.MessagesPage .timespan-selector select{padding:5px;border-radius:4px;border:1px solid var(--medium-gray);flex:1;background-color:var(--card-background);color:var(--text-color)}.MessagesPage .custom-date-range{display:flex;gap:10px;margin-bottom:10px}.MessagesPage .date-input-group{flex:1}.MessagesPage .date-input-group label{display:block;margin-bottom:5px;color:var(--text-color)}.MessagesPage .date-input-group input{width:100%;padding:5px;border-radius:4px;border:1px solid var(--medium-gray);background-color:var(--card-background);color:var(--text-color)}.MessagesPage .mark-all-read-full-width{background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:8px 12px;cursor:pointer;width:100%;margin-top:5px;transition:background-color .2s ease}.MessagesPage .mark-all-read-full-width:hover{background-color:var(--secondary-color)}.MessagesPage .messageList{max-height:calc(100vh - 300px);overflow-y:auto;border:1px solid var(--medium-gray);border-radius:4px;padding:10px;background-color:var(--light-gray)}.MessagesPage .loading-message,.MessagesPage .no-messages-found{text-align:center;padding:20px;color:var(--dark-gray)}.MessagesPage .message{padding:10px;margin-bottom:10px;border-radius:4px;border:1px solid var(--medium-gray);background-color:var(--card-background);transition:background-color .2s ease}.MessagesPage .message.read{background-color:var(--card-background);border-color:var(--medium-gray);opacity:.8}.MessagesPage .message.unread{background-color:#3498db1a;border-color:var(--primary-color)}.MessagesPage .message-header-info{display:flex;justify-content:space-between;margin-bottom:5px;font-size:.9em;color:var(--dark-gray)}.MessagesPage .message-sender-name{font-weight:700;color:var(--text-color)}.MessagesPage .message-date-time{color:var(--dark-gray)}.MessagesPage .message-content{margin-bottom:10px;color:var(--text-color)}.MessagesPage .message-reference-link{color:var(--primary-color);text-decoration:none;font-weight:700;transition:color .2s ease}.MessagesPage .message-reference-link:hover{color:var(--secondary-color)}.MessagesPage .message-actions-right{text-align:right}.MessagesPage .mark-read-individual{background-color:var(--success-color);color:#fff;border:none;border-radius:4px;padding:5px 10px;cursor:pointer;font-size:.8em;transition:background-color .2s ease}.MessagesPage .mark-read-individual:hover{background-color:var(--muted-green)}.MessagesPage .pagination-container{display:flex;align-items:center;justify-content:space-between;margin-top:15px;padding:5px}.MessagesPage .pagination-left{flex:1}.MessagesPage .pagination-text{font-size:14px;font-weight:500;color:var(--text-color)}.MessagesPage .pagination-right{display:flex;align-items:center;gap:1px}.MessagesPage .pagination-arrow-btn{background-color:#3b82f6;color:#fff;border:none;border-radius:3px;width:20px;height:24px;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:.5rem 1rem!important;margin:1.5px!important}.MessagesPage .pagination-arrow-btn:hover:not(:disabled){background-color:#2563eb;transform:scale(1.05)}.MessagesPage .pagination-arrow-btn:disabled{background-color:#94a3b8;cursor:not-allowed;opacity:.6}.MessagesPage .pagination-page-btn{background-color:transparent;color:var(--text-color);border:1px solid #d1d5db;border-radius:1px;width:20px;height:24px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:.5rem 1rem!important;margin:2px!important}.MessagesPage .pagination-page-btn:hover{background-color:#f3f4f6;border-color:#3b82f6}.MessagesPage .pagination-page-btn.active{background-color:#3b82f6;color:#fff;border-color:#3b82f6;font-weight:600}.MessagesPage .pagination-page-btn.active:hover{background-color:#2563eb}.MessagesPage .pagination-ellipsis{color:var(--text-color);padding:0 8px;display:flex;align-items:center;font-weight:500;-webkit-user-select:none;user-select:none}.MessagesPage .messages-count{font-size:13px;color:var(--dark-gray);margin-bottom:10px;text-align:center}.MessagesPage .apply-date-range-btn{background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:2px 5px;cursor:pointer;transition:background-color .2s ease}.MessagesPage .apply-date-range-btn:hover{background-color:var(--secondary-color)}.MessagesPage .unread-filter{margin-bottom:10px}.MessagesPage .unread-filter label{display:flex;align-items:center;color:var(--text-color);cursor:pointer}.MessagesPage .unread-filter input[type=checkbox]{margin-right:8px;cursor:pointer}.MessagesPage .error-message{color:#ef4444;text-align:center;padding:20px;font-weight:500}.AnchorFeedback,.PracticeFeedback{padding:20px;height:100%;overflow:auto}.AnchorFeedback .reference-container .introduction,.PracticeFeedback .reference-container .introduction{margin-bottom:15px}.AnchorFeedback .reference-container .reference-scores,.PracticeFeedback .reference-container .reference-scores{margin-bottom:20px}.AnchorFeedback .reference-container .reference-scores .reference-score-part,.PracticeFeedback .reference-container .reference-scores .reference-score-part{margin-bottom:15px}.AnchorFeedback .reference-container .reference-scores .reference-score-part>h5,.PracticeFeedback .reference-container .reference-scores .reference-score-part>h5{margin-bottom:15px;padding:8px 15px;background-color:#2980b9;color:#fff;border-radius:var(--border-radius);font-weight:700;display:inline-block}.AnchorFeedback .reference-container .reference-scores .reference-score-part .reference-score,.PracticeFeedback .reference-container .reference-scores .reference-score-part .reference-score{background-color:var(--reference-detail-bg);border:1px solid var(--medium-gray);border-bottom-left-radius:var(--border-radius-md);border-bottom-right-radius:var(--border-radius-md);margin-bottom:20px}.AnchorFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5,.PracticeFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5{margin:0;padding:10px 15px;background-color:var(--trait-no-score-bg);color:var(--trait-no-score-text);font-weight:700;font-size:1.1em;border-bottom:1px solid var(--medium-gray);width:100%;box-sizing:border-box}.AnchorFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5 .trait-score-box,.PracticeFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5 .trait-score-box{display:inline-block;border:1px solid var(--medium-gray);border-radius:var(--border-radius);padding:2px 8px;margin-left:12px;font-size:.9em}.AnchorFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5.trait-heading,.PracticeFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5.trait-heading{padding:10px 15px;width:100%;box-sizing:border-box;background-color:var(--trait-header-bg);color:var(--trait-header-text)}.AnchorFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5.trait-no-score,.PracticeFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5.trait-no-score{background-color:var(--trait-no-score-bg);color:var(--trait-no-score-text)}.AnchorFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5.trait-correct,.PracticeFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5.trait-correct{background-color:var(--trait-correct-bg);color:var(--trait-correct-text)}.AnchorFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5.trait-correct .trait-score-box,.PracticeFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5.trait-correct .trait-score-box{background-color:var(--trait-correct-text);color:var(--trait-correct-bg)}.AnchorFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5.trait-partial,.PracticeFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5.trait-partial{background-color:var(--trait-partial-bg);color:var(--trait-partial-text)}.AnchorFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5.trait-partial .trait-score-box,.PracticeFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5.trait-partial .trait-score-box{background-color:var(--trait-partial-text);color:var(--trait-partial-bg)}.AnchorFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5.trait-incorrect,.PracticeFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5.trait-incorrect{background-color:var(--trait-incorrect-bg);color:var(--trait-incorrect-text)}.AnchorFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5.trait-incorrect .trait-score-box,.PracticeFeedback .reference-container .reference-scores .reference-score-part .reference-score>h5.trait-incorrect .trait-score-box{background-color:var(--trait-incorrect-text);color:var(--trait-incorrect-bg)}.AnchorFeedback .reference-container .reference-scores .reference-score-part .reference-score .reference-score-detail,.PracticeFeedback .reference-container .reference-scores .reference-score-part .reference-score .reference-score-detail{padding:15px;border-bottom-left-radius:var(--border-radius-md);border-bottom-right-radius:var(--border-radius-md);background-color:var(--reference-detail-bg)}.AnchorFeedback .reference-container .reference-scores .reference-score-part .reference-score .reference-score-detail p,.PracticeFeedback .reference-container .reference-scores .reference-score-part .reference-score .reference-score-detail p{margin:10px 0}.AnchorFeedback .reference-container .reference-scores .reference-score-part .reference-score .reference-score-detail p:first-child,.PracticeFeedback .reference-container .reference-scores .reference-score-part .reference-score .reference-score-detail p:first-child{margin-top:0}.AnchorFeedback .reference-container .reference-scores .reference-score-part .reference-score .reference-score-detail p:last-child,.PracticeFeedback .reference-container .reference-scores .reference-score-part .reference-score .reference-score-detail p:last-child{margin-bottom:0}.enhanced-submit-container{display:flex;flex-direction:column;gap:1rem;width:100%}.navigation-controls .enhanced-submit-container{flex-direction:row;width:auto;gap:.5rem}.navigation-controls .progress-indicator,.navigation-controls .status-message{display:none}.navigation-controls .enhanced-submit-button{padding:.2rem .4rem;font-size:.75rem;min-height:auto;border-radius:var(--border-radius)}.progress-indicator{padding:1rem;background:var(--light-gray, #f8f9fa);border-radius:8px;border:1px solid var(--border-color, #dee2e6)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-title{font-weight:600;font-size:.95rem;color:var(--text-color, #212529)}.progress-count{font-size:.9rem;color:var(--text-color-muted, #6c757d);font-weight:500}.progress-bars{display:flex;flex-direction:column;gap:.75rem}.progress-bar-container{display:flex;align-items:center;gap:.75rem}.progress-label{min-width:80px;font-size:.85rem;font-weight:500;color:var(--text-color, #212529)}.progress-track{flex:1;height:8px;background:var(--medium-gray, #e9ecef);border-radius:4px;overflow:hidden;position:relative}.progress-fill{height:100%;border-radius:4px;transition:width .3s ease;position:relative}.progress-fill.scoring{background:linear-gradient(90deg,#28a745,#20c997)}.progress-fill.validation{background:linear-gradient(90deg,#007bff,#17a2b8)}.progress-percentage{min-width:45px;text-align:right;font-size:.85rem;font-weight:600;color:var(--text-color, #212529)}.enhanced-submit-button{padding:14px 28px;border-radius:8px;border:none;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;position:relative;overflow:hidden}.enhanced-submit-button.enabled{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;box-shadow:0 2px 4px #28a74533}.enhanced-submit-button.enabled:hover{background:linear-gradient(135deg,#218838,#1c9c8a);transform:translateY(-1px);box-shadow:0 4px 8px #28a7454d}.enhanced-submit-button.enabled:active{transform:translateY(0);box-shadow:0 2px 4px #28a74533}.enhanced-submit-button.disabled{background:var(--medium-gray, #6c757d);color:var(--text-color-muted, #adb5bd);cursor:not-allowed;box-shadow:none}.enhanced-submit-button.submitting{background:linear-gradient(135deg,#17a2b8,#138496);color:#fff;cursor:wait}.submit-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.status-message{text-align:center;font-size:.9rem;padding:.75rem 1rem;border-radius:6px;font-weight:500;transition:all .3s ease}.status-message.ready{background:#28a7451a;color:#155724;border:1px solid rgba(40,167,69,.2)}.status-message.waiting{background:#ffc1071a;color:#856404;border:1px solid rgba(255,193,7,.2)}@media (max-width: 768px){.enhanced-submit-container{gap:.75rem}.progress-indicator{padding:.75rem}.progress-header{flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.progress-bar-container{gap:.5rem}.progress-label{min-width:70px;font-size:.8rem}.progress-percentage{min-width:40px;font-size:.8rem}.enhanced-submit-button{padding:12px 24px;font-size:.95rem;min-height:44px}.status-message{font-size:.85rem;padding:.6rem .8rem}}@media (prefers-color-scheme: dark){.progress-indicator{background:var(--dark-bg-secondary, #2d3748);border-color:var(--dark-border, #4a5568)}.progress-title{color:var(--dark-text, #e2e8f0)}.progress-count{color:var(--dark-text-muted, #a0aec0)}.progress-label{color:var(--dark-text, #e2e8f0)}.progress-track{background:var(--dark-bg-tertiary, #4a5568)}.progress-percentage{color:var(--dark-text, #e2e8f0)}.enhanced-submit-button.disabled{background:var(--dark-bg-tertiary, #4a5568);color:var(--dark-text-muted, #718096)}.status-message.ready{background:#48bb7826;color:#9ae6b4;border-color:#48bb784d}.status-message.waiting{background:#ecc94b26;color:#f6e05e;border-color:#ecc94b4d}}@media (prefers-contrast: high){.progress-indicator{border-width:2px}.enhanced-submit-button{border:2px solid transparent}.enhanced-submit-button.enabled{border-color:#155724}.enhanced-submit-button.disabled{border-color:#6c757d}.status-message{border-width:2px}}@media (prefers-reduced-motion: reduce){.progress-fill,.enhanced-submit-button,.status-message{transition:none}.submit-spinner{animation:none}.enhanced-submit-button.enabled:hover{transform:none}}.enhanced-submit-button:focus{outline:2px solid var(--focus-color, #007bff);outline-offset:2px}.enhanced-submit-button:focus:not(:focus-visible){outline:none}.enhanced-submit-button:focus-visible{outline:2px solid var(--focus-color, #007bff);outline-offset:2px}.AlertModal .form-group{display:flex;flex-direction:column;gap:5px}.AlertModal .form-group label{font-weight:700}.AlertModal .form-group select,.AlertModal .form-group textarea{padding:8px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.AlertModal .form-group textarea{resize:vertical;min-height:80px}.alert-button-container{position:relative;display:inline-block}.alert-button-container .send-alert-btn,.alert-button-container .cancel-alert-btn{margin:0;padding:.4rem .8rem;border-radius:var(--border-radius);font-size:.9rem;cursor:pointer;transition:all .2s ease}.alert-button-container .send-alert-btn{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert-button-container .send-alert-btn:hover:not(:disabled){background-color:#f1b0b7}.alert-button-container .send-alert-btn:disabled{opacity:.8;cursor:default;background-color:#fce8ea;color:#d3929a;border:1px solid #f5c6cb;pointer-events:auto}.alert-button-container .cancel-alert-btn{background-color:#fd7e14;color:#fff;border:1px solid #fd7e14}.alert-button-container .cancel-alert-btn:hover{background-color:#e8700d}.alert-button-container .tooltip{visibility:hidden;opacity:0;position:absolute;bottom:125%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;text-align:center;padding:5px 10px;border-radius:4px;white-space:normal;font-size:12px;transition:opacity .3s;width:max-content;max-width:200px;box-shadow:0 2px 5px #0000004d;margin-bottom:5px;pointer-events:none}.alert-button-container .tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#333 transparent transparent transparent}.alert-button-container .send-alert-btn:hover+.tooltip{visibility:visible;opacity:1}.alert-button-container .send-alert-btn svg{width:1.5rem;height:1.5rem;display:inline-block}.flag-buttons-container{display:flex;gap:.5rem;flex-wrap:wrap}.flag-button-wrapper{position:relative;display:inline-block}.flag-btn,.cancel-flag-btn{margin:0;padding:.4rem .8rem;border-radius:var(--border-radius);font-size:.9rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.flag-btn.rendering-problem{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.flag-btn.rendering-problem:hover:not(:disabled){background-color:#ffe8a1}.flag-btn.rendering-problem:disabled{opacity:.8;cursor:default;background-color:#fff9e6;color:#c9a86a;border:1px solid #ffeaa7;pointer-events:auto}.cancel-flag-btn.rendering-problem{background-color:#ffc107;color:#000;border:1px solid #ffc107}.cancel-flag-btn.rendering-problem:hover{background-color:#e0a800}.flag-btn.question-about-scoring{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.flag-btn.question-about-scoring:hover:not(:disabled){background-color:#b8daff}.flag-btn.question-about-scoring:disabled{opacity:.8;cursor:default;background-color:#e7f5f7;color:#7a9fa6;border:1px solid #bee5eb;pointer-events:auto}.cancel-flag-btn.question-about-scoring{background-color:#17a2b8;color:#fff;border:1px solid #17a2b8}.cancel-flag-btn.question-about-scoring:hover{background-color:#138496}.standalone-student-response{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a;height:100%;display:flex;flex-direction:column}.standalone-student-response .response-header{display:flex;justify-content:space-between;align-items:center;padding:.25rem 1rem;border-bottom:1px solid #e0e0e0;background-color:#f8f9fa;border-radius:8px 8px 0 0}.standalone-student-response .response-title{margin:0;font-size:.9rem;font-weight:700;color:#333}.standalone-student-response .response-header-actions{display:flex;gap:.5rem;align-items:center;justify-content:flex-end;margin-left:auto}.standalone-student-response .expand-response-btn{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.standalone-student-response .expand-response-btn:hover{background-color:#e9ecef}.standalone-student-response .expand-icon{color:#6c757d}.standalone-student-response .response-content{flex:1;overflow-y:auto;padding:1rem;min-height:0}.standalone-student-response .expanded-response-container{max-height:70vh;overflow-y:auto;padding:1rem}[data-theme=dark] .standalone-student-response{background:#2d3748;border-color:#4a5568}[data-theme=dark] .standalone-student-response .response-header{background-color:#1a202c;border-bottom-color:#4a5568}[data-theme=dark] .standalone-student-response .response-title{color:#e2e8f0}[data-theme=dark] .standalone-student-response .expand-response-btn:hover{background-color:#4a5568}[data-theme=dark] .standalone-student-response .expand-icon{color:#a0aec0}.HeaderMetricsWidget{display:flex;flex-direction:row;align-items:center;justify-content:center;padding:5px;background-color:var(--light-gray);border-radius:6px;border:1px solid var(--medium-gray);box-shadow:var(--box-shadow);cursor:pointer;transition:background-color .2s ease}.HeaderMetricsWidget:hover:not(.disabled){background-color:var(--medium-gray)}.HeaderMetricsWidget.disabled{cursor:default!important;pointer-events:none!important}.HeaderMetricsWidget svg text{font-weight:700;fill:var(--text-color)}.error-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.error-modal{background-color:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-width:500px;width:90%;max-height:100vh;display:flex;flex-direction:column;animation:slideIn .3s ease-out}.error-modal-header{display:flex;align-items:center;gap:1rem;padding:1.5rem 2rem;background-color:#f8d7da;border-bottom:1px solid #f5c6cb;position:relative}.error-icon{font-size:2rem;color:#dc3545}.error-modal-header h3{margin:0;color:#721c24;font-size:1.3rem;font-weight:600;flex:1}.error-modal-close{position:absolute;top:1rem;right:1.5rem;background:none;border:none;font-size:2rem;color:#721c24;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.error-modal-close:hover{background-color:#721c241a;color:#dc3545}.error-modal-content{flex:1;overflow-y:auto;min-height:0}.error-modal-body{padding:2rem}.error-message p{margin:0;color:#495057;line-height:1.6;font-size:1rem}.error-details-section{border-top:1px solid #e9ecef;padding:1rem 2rem;background-color:#f8f9fa}.error-details-toggle{background:none;border:none;color:#007bff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 0;display:flex;align-items:center;gap:.5rem;transition:color .2s ease}.error-details-toggle:hover{color:#0056b3;text-decoration:underline}.error-details{margin-top:1rem;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:1rem}.error-detail-item{margin-bottom:1rem}.error-detail-item:last-child{margin-bottom:0}.error-detail-item strong{color:#495057;font-size:.9rem;display:block;margin-bottom:.25rem}.error-detail-item code{background-color:#e9ecef;color:#495057;padding:.2rem .4rem;border-radius:3px;font-family:Courier New,monospace;font-size:.85rem}.error-detail-text{color:#6c757d;font-size:.9rem;line-height:1.4;margin-top:.25rem}.error-detail-code{background-color:#2d3748;color:#e2e8f0;padding:.75rem;border-radius:4px;font-family:Courier New,monospace;font-size:.8rem;line-height:1.4;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;margin-top:.25rem;max-height:200px;overflow-y:auto}.error-modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;background-color:#f8f9fa;border-top:1px solid #e9ecef}.error-modal-button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:80px}.error-modal-button.retry{background-color:#ffc107;color:#212529}.error-modal-button.retry:hover{background-color:#e0a800}.error-modal-button.close{background-color:#6c757d;color:#fff}.error-modal-button.close:hover{background-color:#5a6268}.error-modal-button:focus{outline:2px solid #007bff;outline-offset:2px}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-color-scheme: dark){.error-modal{background-color:#2d2d2d;color:#e0e0e0}.error-modal-header{background-color:#4d2d2d;border-bottom-color:#5d3d3d}.error-modal-header h3,.error-modal-close{color:#ff6b6b}.error-modal-close:hover{background-color:#ff6b6b1a;color:#ff8a8a}.error-modal-body p{color:#e0e0e0}.error-modal-footer{background-color:#3d3d3d;border-top-color:#4d4d4d}}@media (max-width: 768px){.error-modal{width:95%;margin:1rem}.error-modal-header{padding:1rem 1.5rem}.error-modal-close{top:.75rem;right:1rem}.error-modal-body{padding:1.5rem}.error-modal-footer{padding:1rem 1.5rem;flex-direction:column}.error-modal-button{width:100%}}@media (prefers-contrast: high){.error-modal{border:2px solid #000}.error-modal-header{border-bottom:2px solid #000}.error-modal-footer{border-top:2px solid #000}.error-modal-button{border:2px solid #000}}@media (prefers-reduced-motion: reduce){.error-modal-backdrop,.error-modal{animation:none}.error-modal-button,.error-modal-close{transition:none}}.training-score-interface{margin-top:0;position:relative}.training-score-interface .scoring-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.training-score-interface .scoring-header h4{margin:0;font-size:1.1em;font-weight:600;color:var(--primary-color, #2c3e50)}.training-score-interface .validation-errors{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:var(--border-radius);padding:1rem;margin-bottom:1rem}.training-score-interface .validation-errors h5{margin:0 0 .5rem;color:#856404}.training-score-interface .validation-errors ul{margin:0;padding-left:1.5rem}.training-score-interface .validation-errors li{color:#856404;margin-bottom:.25rem}.training-score-interface .scoring-sections{margin-bottom:1.5rem}.training-score-interface .scoring-part{margin-bottom:1rem}.training-score-interface .trait-container.horizontal-trait{background-color:transparent;border:none;margin-bottom:1rem}.training-score-interface .trait-header-blue{background-color:#5b9bd5;color:#fff;padding:.3rem 1rem;border-radius:var(--border-radius);margin-bottom:.5rem;font-weight:700;font-size:.9rem;display:flex;justify-content:space-between;align-items:center}.training-score-interface .trait-name{font-weight:700}.training-score-interface .rubric-btn-header{padding:.25rem .5rem;font-size:.75rem;background-color:#ffffffe6;color:#5b9bd5;border:1px solid rgba(255,255,255,1);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s;white-space:nowrap;font-weight:600}.training-score-interface .rubric-btn-header:hover{background-color:#fff;border-color:#fff;color:#4a8bc2}.training-score-interface .trait-scoring-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.rubric-popup-content{padding:1rem}.rubric-popup-content h4{margin:0 0 1rem;color:var(--primary-color, #2c3e50)}.rubric-score-points,.rubric-condition-codes{margin-bottom:1.5rem}.rubric-score-points h5,.rubric-condition-codes h5{margin:0 0 .75rem;color:var(--primary-color, #2c3e50);font-size:1rem;font-weight:600}.score-point,.condition-code{margin-bottom:.75rem;padding:.5rem;background-color:var(--light-gray, #f8f9fa);border-radius:var(--border-radius);border-left:3px solid #5b9bd5}.score-point strong,.condition-code strong{color:#5b9bd5;margin-right:.5rem}.training-score-interface .scoring-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;background-color:var(--light-gray, #f8f9fa);border-radius:var(--border-radius);border:1px solid var(--medium-gray, #dee2e6)}.training-score-interface .submit-score-button{padding:.75rem 2rem;font-size:1rem;font-weight:600;border-radius:var(--border-radius);border:none;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;min-width:200px;justify-content:center}.training-score-interface .submit-score-button.ready{background-color:var(--success-color, #28a745);color:#fff}.training-score-interface .submit-score-button.ready:hover{background-color:var(--success-hover-color, #218838)}.training-score-interface .submit-score-button.incomplete{background-color:var(--warning-color, #ffc107);color:var(--dark-color, #212529)}.training-score-interface .submit-score-button:disabled{opacity:.6;cursor:not-allowed}.training-score-interface .scoring-progress{font-size:.9rem;color:var(--secondary-color, #6c757d);text-align:center}.training-score-interface .readonly-indicator{text-align:center;padding:1rem;background-color:var(--info-light, #d1ecf1);border:1px solid var(--info-color, #bee5eb);border-radius:var(--border-radius);color:var(--info-dark, #0c5460);font-weight:500}.training-score-interface .loading-spinner{animation:spin 1s linear infinite}@media (max-width: 768px){.training-score-interface .trait-header-blue{flex-direction:column;gap:.5rem;align-items:flex-start}.training-score-interface .trait-scoring-row{flex-direction:column;align-items:flex-start}.training-score-interface .scoring-actions{padding:1rem}.training-score-interface .submit-score-button{min-width:auto;width:100%}}.resource-floating-toggle-button{position:fixed;top:50%;right:20px;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;background:#007bff;color:#fff;border:none;border-radius:8px 0 0 8px;cursor:pointer;font-size:12px;font-weight:600;box-shadow:-2px 0 8px #00000026;z-index:999;transition:all .2s ease;writing-mode:vertical-rl;text-orientation:mixed;min-height:120px;width:40px}.resource-floating-toggle-button:hover{background:#0056b3;right:15px}.resource-floating-toggle-text{font-size:11px;margin-bottom:8px;white-space:nowrap;writing-mode:vertical-rl;text-orientation:mixed}.resource-floating-toggle-icon{font-size:16px;font-weight:700;writing-mode:horizontal-tb;text-orientation:upright}.resource-integrated-panel{position:relative;height:100vh;background:#fff;border-left:2px solid #dee2e6;box-shadow:-4px 0 12px #00000026;display:flex;flex-direction:column;transition:width .3s ease}.resource-panel-resize-handle{position:absolute;left:-3px;top:0;width:8px;height:100%;cursor:ew-resize;background:transparent;z-index:1001;border-left:2px solid transparent;transition:all .2s ease}.resource-panel-resize-handle:hover{background:#007bff1a;border-left:2px solid rgba(0,123,255,.5)}.resource-panel-resize-handle:active{background:#007bff33;border-left:2px solid rgba(0,123,255,.8)}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.resource-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f8f9fa;border-bottom:1px solid #dee2e6;flex-shrink:0}.resource-panel-header h3{margin:0;font-size:18px;font-weight:600;color:#495057}.resource-panel-close{background:none;border:none;font-size:24px;font-weight:700;color:#6c757d;cursor:pointer;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.resource-panel-close:hover{background:#e9ecef;color:#495057}.resource-panel-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.resource-panel-loading,.resource-panel-empty{padding:40px 20px;text-align:center;color:#6c757d}.resource-panel-list{flex:1;overflow-y:auto;background:#f8f9fa}.resource-panel-item-container{border-bottom:1px solid #e9ecef}.resource-panel-item{padding:12px 16px;cursor:pointer;transition:background-color .2s}.resource-panel-item:hover{background:#e9ecef}.resource-panel-item.selected{background:#007bff;color:#fff}.resource-panel-item.required{border-left:3px solid #dc3545}.resource-panel-item.selected.required{border-left:3px solid rgba(220,53,69,.8)}.resource-panel-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;flex-wrap:wrap;gap:8px}.resource-expand-icon{font-size:12px;color:#6c757d;margin-left:8px;transition:transform .2s ease}.resource-panel-item.selected .resource-expand-icon{color:#fffc}.resource-panel-item-name{font-weight:500;font-size:14px;flex:1;min-width:0}.resource-panel-item-type{font-size:11px;background:#6c757d;color:#fff;padding:2px 6px;border-radius:10px;text-transform:uppercase;font-weight:500;flex-shrink:0}.resource-panel-item.selected .resource-panel-item-type{background:#ffffff4d}.required-badge{font-size:10px;background:#dc3545;color:#fff;padding:2px 4px;border-radius:8px;text-transform:uppercase;font-weight:500;flex-shrink:0}.resource-panel-item.selected .required-badge{background:#dc3545cc}.resource-panel-item-description{font-size:12px;color:#6c757d;line-height:1.3;margin-top:4px}.resource-panel-item.selected .resource-panel-item-description{color:#fffc}.resource-inline-content{background:#fff;border:1px solid #dee2e6;border-top:none;margin:0 16px 16px;border-radius:0 0 8px 8px;box-shadow:0 2px 4px #0000001a;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}.resource-inline-body{padding:16px;max-height:none;overflow-y:visible}.resource-close-button{background:none;border:none;font-size:18px;font-weight:700;color:#6c757d;cursor:pointer;padding:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;margin-left:auto}.resource-close-button:hover{background:#e9ecef;color:#495057}.resource-type-badge{font-size:11px;background:#007bff;color:#fff;padding:4px 8px;border-radius:12px;text-transform:uppercase;font-weight:500}.resource-panel-display-description{padding:12px 20px;background:#f8f9fa;border-bottom:1px solid #e9ecef;font-size:14px;color:#6c757d;line-height:1.4;flex-shrink:0}.resource-panel-display-content{flex:1;padding:20px;overflow-y:auto}.resource-text-content,.resource-document-content{font-size:14px;line-height:1.5}.resource-text-content pre,.resource-document-content pre{margin:0;font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.resource-html-content{font-size:14px;line-height:1.5}.resource-link-content{text-align:center;padding:20px}.resource-link-content a{display:inline-block;padding:10px 20px;background:#007bff;color:#fff;text-decoration:none;border-radius:4px;font-weight:500}.resource-link-content a:hover{background:#0056b3;text-decoration:none}.resource-description{margin-top:10px;color:#6c757d;font-size:13px}.resource-image-content{text-align:center;padding:10px}.resource-image-content img{max-width:100%;height:auto;border-radius:4px}.resource-video-content{text-align:center;padding:10px}.resource-video-content video{max-width:100%;height:auto;border-radius:4px}.resource-audio-content{padding:10px}.resource-audio-content audio{width:100%}.resource-pdf-content{padding:10px}.resource-pdf-content iframe{width:100%;height:500px;border:1px solid #dee2e6;border-radius:4px}.resource-interactive-content{padding:10px}.resource-interactive-content iframe{width:100%;height:400px;border:1px solid #dee2e6;border-radius:4px}.resource-custom-content{font-size:14px;line-height:1.5}.resource-default-content{text-align:center;padding:20px;color:#6c757d}.resource-default-content a{display:inline-block;margin-top:10px;padding:8px 16px;background:#6c757d;color:#fff;text-decoration:none;border-radius:4px}.resource-default-content a:hover{background:#5a6268;text-decoration:none}.loading-spinner{font-size:14px;color:#6c757d}@media (max-width: 768px){.resource-slideout-panel{width:100vw;right:0}}@media (max-width: 480px){.resource-panel-header{padding:12px 16px}.resource-panel-header h3{font-size:16px}.resource-panel-display-content{padding:16px}.resource-pdf-content iframe{height:300px}.resource-interactive-content iframe{height:250px}}.qualification-results{text-align:left;width:100%}.result-message{margin-bottom:20px;font-size:16px;line-height:1.5}.result-message.success{color:#28a745}.results-details{background-color:#f8f9fa;border-radius:6px;padding:16px;border:1px solid #e9ecef}.result-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e9ecef}.result-item:last-child{border-bottom:none}.result-label{font-weight:500;color:#495057}.result-value{font-weight:600;color:#212529}.result-value.success{color:#28a745}.result-value.warning{color:#dc3545}.success-header{background:#d1f2eb!important;padding:12px 24px 8px!important}.success-title{color:#28a745!important;font-size:1.1rem!important}.qualification-passed .error-modal-header{background:#d1f2eb;padding:12px 24px 8px}.qualification-passed .error-modal-title{color:#28a745;font-size:1.1rem}.qualification-failed .error-modal-header{background:#fef2f2;padding:12px 24px 8px}.qualification-failed .error-modal-title{color:#dc2626;font-size:1.1rem}.table-of-contents{position:relative;margin-bottom:1rem}.training-title-row .table-of-contents{margin-bottom:0}.toc-toggle{background-color:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:.5rem .75rem;cursor:pointer;transition:all .2s ease;color:#fff;font-size:.875rem;font-weight:500;white-space:nowrap}.toc-toggle:hover{background-color:#fff3;border-color:#fff6}.toc-toggle.expanded{background-color:#ffffff40;border-color:#ffffff80}.toc-toggle.expanded:hover{background-color:#ffffff4d}.training-content .table-of-contents .toc-toggle{background-color:#f8f9fa;color:#495057;border:1px solid #e9ecef}.training-content .table-of-contents .toc-toggle:hover{background-color:#e9ecef;border-color:#ced4da}.training-content .table-of-contents .toc-toggle.expanded{background-color:var(--primary-color, #2980b9);color:#fff;border-color:var(--primary-color, #2980b9)}.training-content .table-of-contents .toc-toggle.expanded:hover{background-color:#1976d2;border-color:#1976d2}.toc-content{position:absolute;top:100%;right:0;background-color:#fff;border:1px solid #e9ecef;border-radius:6px;box-shadow:0 4px 12px #00000026;max-height:400px;overflow-y:auto;min-width:320px;z-index:500;margin-top:.25rem}.toc-steps{padding:.5rem 0}.toc-step{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid #f8f9fa;transition:all .2s ease;position:relative}.toc-step:last-child{border-bottom:none}.toc-step.clickable{cursor:pointer}.toc-step.clickable:hover{background-color:#f8f9fa}.toc-step.clickable:focus{outline:2px solid var(--primary-color, #2980b9);outline-offset:-2px;background-color:#f8f9fa}.toc-step.current{background-color:#e3f2fd;border-left:4px solid var(--primary-color, #2980b9)}.toc-step.current.clickable:hover{background-color:#bbdefb}.toc-step.completed{background-color:#f8fff9;border-left:4px solid #28a745}.toc-step.completed.clickable:hover{background-color:#e8f5e8}.toc-step.locked{opacity:.6;cursor:not-allowed}.toc-step-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;flex-shrink:0;transition:all .2s ease}.toc-step.completed .toc-step-icon{background-color:#28a745;color:#fff}.toc-step.current .toc-step-icon{background-color:var(--primary-color, #2980b9);color:#fff}.toc-step.available .toc-step-icon{background-color:#6c757d;color:#fff}.toc-step.locked .toc-step-icon{background-color:#e9ecef;color:#6c757d}.toc-step-content{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.toc-step-header{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:#6c757d}.toc-step-number{font-weight:600;color:var(--primary-color, #2980b9)}.toc-step.current .toc-step-number{color:var(--primary-color, #2980b9)}.toc-step.completed .toc-step-number{color:#28a745}.toc-step-type{display:flex;align-items:center;gap:.25rem;font-weight:500;background-color:#f8f9fa;padding:.2rem .5rem;border-radius:12px;border:1px solid #e9ecef}.toc-step.current .toc-step-type{background-color:#e3f2fd;border-color:#bbdefb;color:#1976d2}.toc-step.completed .toc-step-type{background-color:#e8f5e8;border-color:#c3e6cb;color:#155724}.toc-step-name{font-weight:500;color:#495057;font-size:.95rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toc-step.current .toc-step-name{color:#1976d2;font-weight:600}.toc-step.completed .toc-step-name{color:#155724}.toc-lock-icon{font-size:1rem;color:#6c757d;flex-shrink:0}.toc-progress{padding:1rem;background-color:#f8f9fa;border-top:1px solid #e9ecef}.toc-progress-bar{height:6px;background-color:#e9ecef;border-radius:3px;overflow:hidden;margin-bottom:.5rem}.toc-progress-fill{height:100%;background-color:#28a745;transition:width .3s ease;border-radius:3px}.toc-progress-text{font-size:.85rem;color:#6c757d;text-align:center;font-weight:500}@media (max-width: 768px){.toc-toggle{padding:.75rem}.toc-toggle-content{gap:.75rem}.toc-subtitle{font-size:.8rem}.toc-step{padding:.5rem .75rem;gap:.75rem}.toc-step-icon{width:28px;height:28px;font-size:.8rem}.toc-step-header{gap:.5rem;font-size:.75rem}.toc-step-name{font-size:.9rem}.toc-progress{padding:.75rem}.toc-content{max-height:300px}}@media (max-width: 480px){.toc-subtitle{flex-direction:column;gap:.1rem}.toc-step-header{flex-direction:column;align-items:flex-start;gap:.25rem}.toc-step-name{white-space:normal;overflow:visible;text-overflow:unset;line-height:1.2}}@media (prefers-color-scheme: dark){.table-of-contents{background-color:#2d2d2d;border-color:#4d4d4d}.toc-toggle{background-color:#3d3d3d;border-bottom-color:#4d4d4d;color:#e0e0e0}.toc-toggle:hover{background-color:#4d4d4d}.toc-content{background-color:#2d2d2d;border-top-color:#4d4d4d}.toc-step{border-bottom-color:#3d3d3d}.toc-step.clickable:hover,.toc-step.clickable:focus{background-color:#3d3d3d}.toc-step.current{background-color:#2d3d4d}.toc-step.current.clickable:hover{background-color:#3d4d5d}.toc-step.completed{background-color:#2d3d2d}.toc-step.completed.clickable:hover{background-color:#3d4d3d}.toc-step-type{background-color:#3d3d3d;border-color:#4d4d4d;color:#e0e0e0}.toc-step.current .toc-step-type{background-color:#2d3d4d;border-color:#4d5d7d}.toc-step.completed .toc-step-type{background-color:#2d3d2d;border-color:#4d5d4d}.toc-step-name{color:#e0e0e0}.toc-progress{background-color:#3d3d3d;border-top-color:#4d4d4d}.toc-progress-bar{background-color:#4d4d4d}.toc-lock-icon{color:#8d8d8d}}.toc-content{animation:slideDown .2s ease-out}.toc-toggle:focus{outline:2px solid var(--primary-color, #2980b9);outline-offset:2px}.toc-step.clickable:focus-visible{outline:2px solid var(--primary-color, #2980b9);outline-offset:-2px}@media (prefers-contrast: high){.table-of-contents{border:2px solid}.toc-step.current,.toc-step.completed{border-left-width:6px}.toc-step-icon{border:2px solid}}@media (prefers-reduced-motion: reduce){.toc-toggle,.toc-step,.toc-step-icon,.toc-progress-fill,.toc-chevron{transition:none}.toc-content{animation:none}}.training-interface{display:flex;flex-direction:column;min-height:100vh;background-color:var(--background-color, #f5f5f5);color:var(--text-color, #333)}.training-header{background-color:var(--primary-color, #2980b9);color:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a}.training-title-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:.5rem}.training-title-row h1{margin:0;font-size:1.5rem;font-weight:600;opacity:.9;flex:1;min-width:0}.training-title-row .table-of-contents{flex-shrink:0;margin-bottom:0;width:auto}.training-progress{display:flex;align-items:center;gap:1rem}.training-progress span{font-size:.9rem;opacity:.9}.progress-bar{flex:1;height:6px;background-color:#ffffff4d;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background-color:#27ae60;transition:width .3s ease}.training-content{flex:1;padding:2rem}.training-content h2{margin:0 0 1.5rem;font-size:1.3rem;color:var(--primary-color, #2980b9)}.training-error{text-align:center;padding:3rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.training-error h2{color:#e74c3c;margin-bottom:1rem}.resource-step-viewer{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.step-info{display:flex;gap:1rem;padding:1rem;background-color:#f8f9fa;border-bottom:1px solid #e9ecef}.duration-badge,.resource-type-badge{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.duration-badge{background-color:#e3f2fd;color:#1976d2}.resource-type-badge{background-color:#f3e5f5;color:#7b1fa2}.resource-content{padding:2rem;min-height:400px}.training-html-content{line-height:1.6}.training-html-content h1,.training-html-content h2,.training-html-content h3{color:var(--primary-color, #2980b9);margin-top:1.5rem;margin-bottom:1rem}.training-html-content h1:first-child,.training-html-content h2:first-child,.training-html-content h3:first-child{margin-top:0}.training-html-content ul,.training-html-content ol{margin:1rem 0;padding-left:2rem}.training-html-content li{margin:.5rem 0}.training-html-content .important-note,.training-html-content .tip-box,.training-html-content .warning-box,.training-html-content .practice-note{padding:1rem;margin:1.5rem 0;border-radius:6px;border-left:4px solid}.training-html-content .important-note{background-color:#fff3cd;border-left-color:#ffc107}.training-html-content .tip-box{background-color:#d1ecf1;border-left-color:#17a2b8}.training-html-content .warning-box{background-color:#f8d7da;border-left-color:#dc3545}.training-html-content .practice-note{background-color:#d4edda;border-left-color:#28a745}.training-text-content{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:1.5rem}.training-text-content pre{margin:0;white-space:pre-wrap;word-wrap:break-word}.training-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color, #2980b9);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.training-error h3{color:#e74c3c;margin-bottom:1rem}.retry-button{background-color:var(--primary-color, #2980b9);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;margin-top:1rem}.retry-button:hover{background-color:#1976d2}.training-iframe{border:1px solid #ddd;border-radius:4px}.training-video{border-radius:4px}.training-image{border:1px solid #ddd;border-radius:4px}.training-no-content{text-align:center;padding:3rem;color:#6c757d}.step-instructions{padding:1rem 2rem;background-color:#f8f9fa;border-top:1px solid #e9ecef;font-style:italic;color:#6c757d}.training-navigation{background-color:#fff;border-top:1px solid #e9ecef;padding:1.5rem 2rem;box-shadow:0 -2px 4px #0000001a;display:flex;flex-direction:column;min-height:fit-content}.step-indicators{margin-top:1rem}.step-breadcrumbs{display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;gap:.5rem}.step-indicator{display:flex;align-items:center;gap:.5rem}.step-number{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;transition:all .3s ease}.step-indicator.completed .step-number{background-color:#28a745;color:#fff}.step-indicator.current .step-number{background-color:var(--primary-color, #2980b9);color:#fff;box-shadow:0 0 0 3px #2980b933}.step-indicator.upcoming .step-number{background-color:#e9ecef;color:#6c757d}.step-connector{width:24px;height:2px;background-color:#e9ecef;transition:background-color .3s ease}.step-indicator.completed+.step-indicator .step-connector{background-color:#28a745}.step-position-text{text-align:center;font-size:.9rem;color:#6c757d;font-weight:500}.step-validation-message{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;margin-bottom:1rem;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;color:#856404;font-size:.9rem}.validation-icon{font-size:1.1rem}.nav-buttons{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;order:-1}.training-nav-button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center}.training-nav-previous{background-color:#6c757d;color:#fff}.training-nav-previous:hover:not(:disabled){background-color:#5a6268}.training-nav-next{background-color:var(--primary-color, #2980b9);color:#fff}.training-nav-next:hover:not(:disabled){background-color:#1976d2}.training-nav-next.complete{background-color:#28a745}.training-nav-next.complete:hover:not(:disabled){background-color:#218838}.training-nav-next.validation-required{background-color:#ffc107;color:#212529}.training-nav-next.validation-required:hover:not(:disabled){background-color:#e0a800}.training-nav-button:disabled{opacity:.5;cursor:not-allowed}.loading-spinner-small{display:inline-block;animation:spin 1s linear infinite}.step-completed-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;color:#28a745;font-size:.9rem;font-weight:500}.completed-checkmark{font-size:1.2rem;font-weight:700}.practice-set-viewer,.qualification-set-viewer{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.practice-set-header,.qualification-set-header{background-color:#f8f9fa;padding:1.5rem;border-bottom:1px solid #e9ecef}.practice-set-header h3,.qualification-set-header h3{margin:0 0 1rem;color:var(--primary-color, #2980b9);font-size:1.3rem}.qualification-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem;margin-bottom:1rem;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;color:#856404;font-size:.9rem;font-weight:500}.notice-icon{font-size:1.1rem}.practice-progress,.qualification-progress{display:flex;align-items:center;gap:1rem;font-size:.9rem;color:#6c757d}.progress-text{font-weight:500;color:var(--primary-color, #2980b9)}.progress-fill.qualification{background-color:#ffc107}.response-content{padding:2rem}.response-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.response-header h4{margin:0;color:var(--primary-color, #2980b9);font-size:1.2rem}.response-meta{display:flex;gap:1rem;font-size:.8rem;color:#6c757d}.response-meta span{background-color:#f8f9fa;padding:.25rem .5rem;border-radius:4px;border:1px solid #e9ecef}.response-text{margin-bottom:2rem}.response-display{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:1.5rem;max-height:400px;overflow-y:auto}.response-text-content{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}.response-navigation{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background-color:#f8f9fa;border-top:1px solid #e9ecef;gap:1rem}.response-actions{flex:1;display:flex;flex-direction:column;align-items:center;gap:1rem}.scoring-placeholder{text-align:center;padding:1rem;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;color:#856404;font-size:.9rem;margin:0;line-height:1.4}.rubric-section{width:100%;margin-bottom:1.5rem}.rubric-section h4{margin:0 0 1rem;color:var(--primary-color, #2980b9);font-size:1.1rem;font-weight:600}.rubric-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;padding:1rem;color:#721c24;font-size:.9rem;margin-bottom:1rem}.rubric-error p{margin:.5rem 0}.rubric-display{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;overflow:hidden;margin-bottom:1rem}.rubric-header{background-color:#f8f9fa;padding:1rem;border-bottom:1px solid #e9ecef}.rubric-header h5{margin:0 0 .5rem;color:var(--primary-color, #2980b9);font-size:1rem;font-weight:600}.rubric-id{margin:0;font-size:.8rem;color:#6c757d;font-family:monospace}.rubric-labels{padding:1rem}.labels-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.rubric-label{border:1px solid #e9ecef;border-radius:6px;padding:1rem;background-color:#fff;transition:all .2s ease}.rubric-label:hover{box-shadow:0 2px 8px #0000001a;border-color:#ced4da}.rubric-label.score-label{border-left:4px solid var(--primary-color, #2980b9)}.rubric-label.condition-code{border-left:4px solid #ffc107;background-color:#fffbf0}.label-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.label-value{background-color:var(--primary-color, #2980b9);color:#fff;padding:.25rem .75rem;border-radius:12px;font-weight:600;font-size:.9rem;min-width:2rem;text-align:center}.rubric-label.condition-code .label-value{background-color:#ffc107;color:#212529}.label-trait{font-weight:600;color:#495057;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.label-part{font-size:.8rem;color:#6c757d;font-style:italic}.label-text{color:#495057;line-height:1.5;font-size:.9rem}.rationale-required{margin-top:.5rem;padding:.25rem .5rem;background-color:#e3f2fd;border-radius:4px;border-left:3px solid #2196f3}.rationale-required small{color:#1976d2;font-weight:500}.no-labels{text-align:center;color:#6c757d;font-style:italic;padding:2rem;margin:0}.rubric-rules{background-color:#f8f9fa;border-top:1px solid #e9ecef;padding:1rem}.rubric-rules h6{margin:0 0 .75rem;color:var(--primary-color, #2980b9);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.rubric-rules ul{margin:0;padding-left:1.5rem}.rubric-rules li{margin:.5rem 0;color:#495057;font-size:.9rem;line-height:1.4}.scoring-interface-placeholder{width:100%}.qualification-notice-scoring{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;padding:1rem;margin-bottom:1rem;text-align:center}.qualification-notice-scoring p{margin:.25rem 0;color:#856404;font-size:.9rem}.qualification-notice-scoring p:first-child{font-weight:600}@media (max-width: 768px){.labels-grid{grid-template-columns:1fr}.label-header{flex-direction:column;align-items:flex-start;gap:.25rem}.rubric-section{margin-bottom:1rem}.rubric-display{margin-bottom:.5rem}}@media (prefers-color-scheme: dark){.rubric-display{background-color:#2d2d2d;border-color:#4d4d4d}.rubric-header{background-color:#3d3d3d;border-bottom-color:#4d4d4d}.rubric-label{background-color:#2d2d2d;border-color:#4d4d4d}.rubric-label.condition-code{background-color:#3d3d2d}.rubric-rules{background-color:#3d3d3d;border-top-color:#4d4d4d}.rationale-required{background-color:#2d3d4d;border-left-color:#4d7d9d}.qualification-notice-scoring{background-color:#4d4d3d;border-color:#6d6d4d}}.training-success{text-align:center;padding:3rem;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724}.training-success h3{color:#155724;margin-bottom:1rem;font-size:1.5rem}.training-error{text-align:center;padding:3rem;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24}.training-error h3{color:#721c24;margin-bottom:1rem}.completion-stats{margin:1.5rem 0;display:flex;flex-direction:column;gap:1rem;align-items:center}.stat{display:flex;align-items:center;gap:.5rem;font-size:1.1rem}.stat-label{font-weight:500}.stat-value{font-weight:700;color:var(--primary-color, #2980b9)}.qualification-note{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;padding:1rem;color:#856404;font-size:.9rem}.qualification-note p{margin:0}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.loading-spinner span{margin-top:1rem;color:#6c757d;font-style:italic}.loading-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.loading-modal{background-color:#fff;border-radius:8px;padding:2rem;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;align-items:center;gap:1rem;min-width:300px;text-align:center}.loading-modal .loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color, #2980b9);border-radius:50%;animation:spin 1s linear infinite;padding:0}.loading-modal h3{margin:0;color:var(--primary-color, #2980b9);font-size:1.2rem;font-weight:600}.training-placeholder{text-align:center;padding:2rem}.training-placeholder h3{color:var(--primary-color, #2980b9);margin-bottom:1rem}.training-placeholder ul{text-align:left;display:inline-block;margin:1.5rem 0}.training-placeholder li{margin:.5rem 0}@media (prefers-color-scheme: dark){.training-interface{background-color:#1a1a1a;color:#e0e0e0}.training-content,.resource-step-viewer,.practice-set-viewer,.qualification-set-viewer,.training-navigation{background-color:#2d2d2d}.step-info{background-color:#3d3d3d;border-bottom-color:#4d4d4d}.training-text-content{background-color:#3d3d3d;border-color:#4d4d4d}.step-instructions{background-color:#3d3d3d;border-top-color:#4d4d4d}.training-navigation{border-top-color:#4d4d4d}}@media (max-width: 768px){.training-header{padding:1rem}.training-title-row{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:1rem}.training-title-row h1{font-size:1.3rem;text-align:center}.training-title-row .table-of-contents{min-width:auto;max-width:none;align-self:stretch}.training-content,.training-navigation{padding:1rem}.nav-buttons{flex-direction:column;gap:1rem}.training-nav-button{width:100%;justify-content:center}.resource-content{padding:1rem}}@media (max-width: 480px){.training-title-row{gap:.75rem}.training-title-row h1{font-size:1.2rem}.training-title-row .table-of-contents{font-size:.9rem}}.training-score-interface{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;margin-top:1rem}.scoring-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.scoring-header h4{margin:0 0 .5rem;color:var(--primary-color, #2980b9);font-size:1.2rem;font-weight:600}.response-info{display:flex;gap:1rem;font-size:.8rem;color:#6c757d}.response-info span{background-color:#f8f9fa;padding:.25rem .5rem;border-radius:4px;border:1px solid #e9ecef}.validation-errors{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;padding:1rem;margin-bottom:1.5rem;color:#721c24}.validation-errors h5{margin:0 0 .75rem;font-size:1rem;font-weight:600}.validation-errors ul{margin:0;padding-left:1.5rem}.validation-errors li{margin:.25rem 0;font-size:.9rem}.scoring-sections{margin-bottom:1.5rem}.scoring-part{margin-bottom:2rem;border:1px solid #e9ecef;border-radius:8px;overflow:hidden}.part-header{background-color:#f8f9fa;padding:1rem;margin:0;font-size:1.1rem;font-weight:600;color:var(--primary-color, #2980b9);border-bottom:1px solid #e9ecef}.scoring-trait{padding:1.5rem;border-bottom:1px solid #f8f9fa}.scoring-trait:last-child{border-bottom:none}.trait-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.trait-header h6{margin:0;font-size:1rem;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.5px}.rationale-indicator{font-size:.8rem;color:#2196f3;font-weight:500;background-color:#e3f2fd;padding:.25rem .5rem;border-radius:4px}.scoring-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-top:1.5rem;border-top:1px solid #e9ecef}.submit-score-button{padding:.75rem 2rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;min-width:200px;justify-content:center}.submit-score-button.ready{background-color:#28a745;color:#fff}.submit-score-button.ready:hover:not(:disabled){background-color:#218838}.submit-score-button.incomplete{background-color:#ffc107;color:#212529}.submit-score-button.incomplete:hover:not(:disabled){background-color:#e0a800}.submit-score-button:disabled{opacity:.6;cursor:not-allowed}.loading-spinner,.check-icon,.warning-icon{font-size:1.1rem}.scoring-progress{font-size:.9rem;color:#6c757d;text-align:center}.readonly-indicator{display:flex;justify-content:center;align-items:center;padding:1rem;background-color:#e2e3e5;border-radius:6px;color:#6c757d;font-weight:500}.readonly-indicator span{display:flex;align-items:center;gap:.5rem}@media (prefers-color-scheme: dark){.training-score-interface{background-color:#2d2d2d;border-color:#4d4d4d}.scoring-header{border-bottom-color:#4d4d4d}.part-header{background-color:#3d3d3d;border-bottom-color:#4d4d4d}.scoring-trait{border-bottom-color:#3d3d3d}.scoring-actions{border-top-color:#4d4d4d}.scoring-part{border-color:#4d4d4d}.readonly-indicator{background-color:#3d3d3d}}@media (max-width: 768px){.training-score-interface{padding:1rem}.response-info{flex-direction:column;gap:.5rem}.trait-header{flex-direction:column;align-items:flex-start;gap:.5rem}.submit-score-button{width:100%;min-width:auto}}.training-feedback{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;margin-top:1rem}.feedback-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.feedback-header h4{margin:0;color:var(--primary-color, #2980b9);font-size:1.2rem;font-weight:600}.accuracy-summary{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.accuracy-score{display:flex;flex-direction:column;align-items:center;padding:1rem;border-radius:8px;min-width:100px}.accuracy-score.excellent{background-color:#d4edda;border:2px solid #28a745;color:#155724}.accuracy-score.good{background-color:#d1ecf1;border:2px solid #17a2b8;color:#0c5460}.accuracy-score.needs-improvement{background-color:#fff3cd;border:2px solid #ffc107;color:#856404}.accuracy-score.poor{background-color:#f8d7da;border:2px solid #dc3545;color:#721c24}.accuracy-percentage{font-size:2rem;font-weight:700;line-height:1}.accuracy-label{font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem}.score-breakdown{font-size:.9rem;color:#6c757d;text-align:center}.feedback-message{padding:1rem;border-radius:6px;margin-bottom:1.5rem}.feedback-message.excellent{background-color:#d4edda;border-left:4px solid #28a745;color:#155724}.feedback-message.good{background-color:#d1ecf1;border-left:4px solid #17a2b8;color:#0c5460}.feedback-message.needs-improvement{background-color:#fff3cd;border-left:4px solid #ffc107;color:#856404}.feedback-message.poor{background-color:#f8d7da;border-left:4px solid #dc3545;color:#721c24}.feedback-message h5{margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.feedback-message p{margin:0;line-height:1.5}.expert-feedback{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:1rem;margin-bottom:1.5rem}.expert-feedback h5{margin:0 0 .75rem;color:var(--primary-color, #2980b9);font-size:1rem;font-weight:600}.expert-feedback p{margin:0;line-height:1.5;color:#495057}.score-comparison{margin-bottom:1.5rem}.score-comparison h5{margin:0 0 1rem;color:var(--primary-color, #2980b9);font-size:1.1rem;font-weight:600}.comparison-table{border:1px solid #e9ecef;border-radius:6px;overflow:hidden}.comparison-header{display:grid;grid-template-columns:2fr 2fr 2fr 1fr;background-color:#f8f9fa;border-bottom:1px solid #e9ecef;font-weight:600;font-size:.9rem;color:#495057}.comparison-header>div{padding:.75rem;border-right:1px solid #e9ecef}.comparison-header>div:last-child{border-right:none}.comparison-row{display:grid;grid-template-columns:2fr 2fr 2fr 1fr;border-bottom:1px solid #f8f9fa}.comparison-row:last-child{border-bottom:none}.comparison-row.match{background-color:#f8fff9}.comparison-row.mismatch{background-color:#fff8f8}.comparison-row>div{padding:1rem .75rem;border-right:1px solid #f8f9fa;display:flex;flex-direction:column;gap:.25rem}.comparison-row>div:last-child{border-right:none;align-items:center;justify-content:center}.trait-column strong{color:#495057;font-size:.9rem}.part-label{font-size:.8rem;color:#6c757d;font-style:italic}.score-value{font-weight:600;color:#495057;font-size:.9rem}.score-description{font-size:.8rem;color:#6c757d;line-height:1.3}.match-indicator{color:#28a745;font-size:1.2rem}.mismatch-indicator{color:#dc3545;font-size:1.2rem}.detailed-feedback-section{margin-bottom:1.5rem}.toggle-detailed-feedback{background:none;border:none;color:var(--primary-color, #2980b9);cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 0;display:flex;align-items:center;gap:.5rem}.toggle-detailed-feedback:hover{text-decoration:underline}.detailed-feedback{margin-top:1rem;padding:1rem;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px}.explanation-content{color:#495057;line-height:1.5;white-space:pre-wrap}.feedback-actions{display:flex;justify-content:center;gap:1rem;margin-bottom:1.5rem;padding-top:1rem;border-top:1px solid #e9ecef}.training-nav-retry{background-color:#ffc107;color:#212529}.training-nav-retry:hover:not(:disabled){background-color:#e0a800}.training-nav-continue{background-color:var(--primary-color, #2980b9);color:#fff}.training-nav-continue:hover:not(:disabled){background-color:#1976d2}.learning-tips{background-color:#e3f2fd;border:1px solid #bbdefb;border-radius:6px;padding:1rem}.learning-tips h5{margin:0 0 .75rem;color:#1976d2;font-size:1rem;font-weight:600}.learning-tips ul{margin:0;padding-left:1.5rem}.learning-tips li{margin:.5rem 0;color:#0d47a1;line-height:1.4}@media (prefers-color-scheme: dark){.training-feedback{background-color:#2d2d2d;border-color:#4d4d4d}.feedback-header{border-bottom-color:#4d4d4d}.comparison-table{border-color:#4d4d4d}.comparison-header{background-color:#3d3d3d;border-bottom-color:#4d4d4d}.comparison-row.match{background-color:#2d3d2d}.comparison-row.mismatch{background-color:#3d2d2d}.expert-feedback,.detailed-feedback{background-color:#3d3d3d;border-color:#4d4d4d}.learning-tips{background-color:#2d3d4d;border-color:#4d5d7d}}@media (max-width: 768px){.training-feedback{padding:1rem}.feedback-header{flex-direction:column;gap:1rem;align-items:stretch}.accuracy-summary{align-items:center}.comparison-header,.comparison-row{grid-template-columns:1fr;gap:.5rem}.comparison-header>div,.comparison-row>div{border-right:none;border-bottom:1px solid #e9ecef;padding:.5rem}.comparison-header>div:last-child,.comparison-row>div:last-child{border-bottom:none}.feedback-actions{flex-direction:column}.training-nav-button{width:100%}}.no-work-screen{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#f59e0b,#ea580c,#dc2626);padding:2rem;animation:fadeIn .5s ease-in}.no-work-content{text-align:center;max-width:600px;background:#fffffffa;padding:4rem 3rem;border-radius:20px;box-shadow:0 20px 60px #0000004d;animation:slideUp .6s ease-out}.no-work-emoji{font-size:5rem;margin-bottom:1.5rem;animation:pulse 2s ease-in-out infinite}.no-work-title{font-size:2.5rem;font-weight:700;color:#dc2626;margin-bottom:1rem;line-height:1.2}.no-work-message{font-size:1.2rem;color:#374151;margin-bottom:1rem;line-height:1.6}.no-work-submessage{font-size:1.1rem;color:#6b7280;margin-bottom:2.5rem;line-height:1.6}.no-work-buttons{display:flex;flex-direction:column;gap:1rem;align-items:center}.no-work-button{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;min-width:250px;box-shadow:0 4px 6px #0000001a}.no-work-button.primary{background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff}.no-work-button.primary:hover{background:linear-gradient(135deg,#ea580c,#dc2626);transform:translateY(-2px);box-shadow:0 6px 12px #0003}.no-work-button.secondary{background:#f3f4f6;color:#374151;border:2px solid #d1d5db}.no-work-button.secondary:hover{background:#e5e7eb;border-color:#9ca3af;transform:translateY(-2px);box-shadow:0 6px 12px #00000026}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (max-width: 768px){.no-work-content{padding:3rem 2rem}.no-work-emoji{font-size:4rem}.no-work-title{font-size:2rem}.no-work-message{font-size:1.1rem}.no-work-submessage{font-size:1rem}.no-work-button{min-width:200px;padding:.9rem 2rem;font-size:1rem}}.training-intro-screen{display:flex;align-items:center;justify-content:center;min-height:80vh;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2)}.training-intro-content{background:#fff;border-radius:12px;padding:3rem 2rem;max-width:600px;width:100%;box-shadow:0 10px 40px #0003;text-align:center;animation:fadeInUp .5s ease-out}.training-intro-icon{font-size:4rem;margin-bottom:1.5rem;animation:bounce 2s infinite}.training-intro-title{font-size:1.75rem;color:#333;margin-bottom:1rem;font-weight:600;line-height:1.4}.training-intro-lesson-name{font-size:2rem;color:#667eea;margin-bottom:1.5rem;font-weight:700;line-height:1.3}.training-intro-description{font-size:1.1rem;color:#666;margin-bottom:2rem;line-height:1.6}.training-intro-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 3rem;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.training-intro-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.training-intro-button:active{transform:translateY(0)}@media (prefers-color-scheme: dark){.training-intro-content{background:#2d2d2d}.training-intro-title{color:#e0e0e0}.training-intro-description{color:#b0b0b0}}.scoring-intro-screen{display:flex;align-items:center;justify-content:center;min-height:80vh;padding:2rem;background:linear-gradient(135deg,#2980b9,#2c3e50)}.scoring-intro-content{background:#fff;border-radius:12px;padding:3rem 2rem;max-width:600px;width:100%;box-shadow:0 10px 40px #0003;text-align:center;animation:fadeInUp .5s ease-out}.scoring-intro-icon{font-size:4rem;margin-bottom:1.5rem;animation:bounce 2s infinite}.scoring-intro-title{font-size:1.75rem;color:#333;margin-bottom:1rem;font-weight:600;line-height:1.4}.scoring-intro-item-name{font-size:2rem;color:#2980b9;margin-bottom:1.5rem;font-weight:700;line-height:1.3}.scoring-intro-description{font-size:1.1rem;color:#666;margin-bottom:2rem;line-height:1.6}.scoring-intro-button{background:linear-gradient(135deg,#2980b9,#2c3e50);color:#fff;border:none;padding:1rem 3rem;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #2980b966}.scoring-intro-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2980b999}.scoring-intro-button:active{transform:translateY(0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (prefers-color-scheme: dark){.scoring-intro-content{background:#2d2d2d}.scoring-intro-title{color:#e0e0e0}.scoring-intro-description{color:#b0b0b0}}.submission-success-screen{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#10b981,#059669,#047857);padding:2rem;animation:fadeIn .5s ease-in}.submission-success-content{text-align:center;max-width:600px;background:#fffffffa;padding:4rem 3rem;border-radius:20px;box-shadow:0 20px 60px #0000004d;animation:slideUp .6s ease-out}.submission-success-emoji{font-size:5rem;margin-bottom:1.5rem;animation:bounce 1s ease-in-out infinite}.submission-success-title{font-size:2.5rem;font-weight:700;color:#047857;margin-bottom:1rem;line-height:1.2}.submission-success-message{font-size:1.3rem;color:#374151;margin-bottom:2.5rem;line-height:1.6}.submission-success-buttons{display:flex;flex-direction:column;gap:1rem;align-items:center}.submission-success-button{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;min-width:250px;box-shadow:0 4px 6px #0000001a}.submission-success-button.primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.submission-success-button.primary:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 6px 12px #0003}.submission-success-button.secondary{background:#f3f4f6;color:#374151;border:2px solid #d1d5db}.submission-success-button.secondary:hover{background:#e5e7eb;border-color:#9ca3af;transform:translateY(-2px);box-shadow:0 6px 12px #00000026}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 768px){.submission-success-content{padding:3rem 2rem}.submission-success-emoji{font-size:4rem}.submission-success-title{font-size:2rem}.submission-success-message{font-size:1.1rem}.submission-success-button{min-width:200px;padding:.9rem 2rem;font-size:1rem}}.loading-screen{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);padding:2rem;animation:fadeIn .5s ease-in}.loading-content{text-align:center;max-width:600px;background:#fffffffa;padding:4rem 3rem;border-radius:20px;box-shadow:0 20px 60px #0000004d;animation:slideUp .6s ease-out}.loading-spinner-container{margin-bottom:2rem;display:flex;justify-content:center;align-items:center}.loading-spinner{width:80px;height:80px;border:8px solid #e5e7eb;border-top:8px solid #6366f1;border-radius:50%;animation:spin 1s linear infinite}.loading-title{font-size:2rem;font-weight:700;color:#6366f1;margin-bottom:1rem;line-height:1.2}.loading-message{font-size:1.2rem;color:#6b7280;line-height:1.6;margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.loading-content{padding:3rem 2rem}.loading-spinner{width:60px;height:60px;border-width:6px}.loading-title{font-size:1.5rem}.loading-message{font-size:1rem}}.ResizeButtons{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:0px;z-index:200;pointer-events:none;opacity:1}.ResizeButtons.resize-buttons-top{top:0}.ResizeButtons.resize-buttons-bottom{bottom:0}.ResizeButtons .resize-button{width:32px;height:24px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;pointer-events:auto;margin:0;padding:0;background-color:var(--resizer-color);opacity:.9;box-shadow:0 1px 3px #0003}.ResizeButtons .resize-button:hover{background-color:var(--resizer-button-hover-color);opacity:1;box-shadow:0 2px 5px #0000004d}.ResizeButtons .resize-button-left,.ResizeButtons .resize-button-hard-right{border-radius:12px 0 0 12px;margin-right:0}.ResizeButtons .resize-button-hard-right{margin-right:8px}.ResizeButtons .resize-button-right,.ResizeButtons .resize-button-hard-left{border-radius:0 12px 12px 0;margin-left:0}.ResizeButtons .resize-button-hard-left{margin-left:8px}.ResizeButtons .resize-button-icon{width:18px;height:18px;color:#fff;stroke-width:2.5}.SplitLayoutResizer{width:16px;background-color:var(--resizer-color);cursor:col-resize;transition:background-color .2s;position:relative;z-index:50;margin:0;box-shadow:0 0 3px #0000001a;touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0}.SplitLayoutResizer:hover{background-color:var(--resizer-hover-color);border-left:1px solid var(--resizer-hover-color);border-right:1px solid var(--resizer-hover-color);z-index:100}.SplitLayoutResizer.active{background-color:var(--resizer-active-color);border-left:1px solid var(--resizer-active-color);border-right:1px solid var(--resizer-active-color);box-shadow:0 0 8px #0000004d;z-index:100}.SplitLayoutResizer:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:50px;width:2px;background-color:var(--resizer-grabber-color);border-radius:1px;margin-left:2px}.SplitLayoutResizer:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:50px;width:2px;background-color:var(--resizer-grabber-color);border-radius:1px;margin-left:-2px}.SplitLayoutResizer:hover .resize-button{background-color:var(--resizer-hover-color);opacity:.8}.SplitLayoutResizer:hover .resize-button:hover{background-color:var(--resizer-button-hover-color);opacity:1}@media (max-width: 768px){.SplitLayoutResizer{width:100%;height:12px;cursor:row-resize}.SplitLayoutResizer:before,.SplitLayoutResizer:after{height:2px;width:50px;margin-left:0;margin-top:-4px}.SplitLayoutResizer:after{margin-top:0}.SplitLayoutResizer:hover:before,.SplitLayoutResizer:hover:after{top:50%;width:6px;height:6px}.SplitLayoutResizer:hover:before{left:calc(50% - 60px);transform:translateY(-50%)}.SplitLayoutResizer:hover:after{left:calc(50% + 60px);transform:translateY(-50%)}}.SplitLayout{display:flex;height:100%;min-height:600px;border:1px solid var(--medium-gray);border-radius:var(--border-radius);overflow:hidden;position:relative}.SplitLayout .split-layout-left,.SplitLayout .split-layout-right{overflow-y:scroll;padding:1rem;background-color:var(--light-gray);transition:width .05s ease;position:relative;z-index:10;container-type:inline-size}.SplitLayout .split-layout-left:has([style*="padding: 0"]){padding:0}.SplitLayout .split-layout-left{width:65%}@media (max-width: 768px){.SplitLayout{flex-direction:column;height:calc(100vh - 60px);min-height:500px}.SplitLayout .split-layout-left,.SplitLayout .split-layout-right{width:100%!important;min-height:300px;flex:1}}@media (max-width: 480px){.SplitLayout{height:calc(100vh - 40px);min-height:400px}}.ScoringInterface{height:100%;display:flex;flex-direction:column}.ScoringInterface .SplitLayout{flex:1}.BaseMetricsDial{margin:8px;display:flex;flex-direction:column;align-items:center}.BaseMetricsDial h3{margin:0 0 5px;width:fit-content;font-size:12px;font-weight:700;color:var(--text-color)}.BaseMetricsDial .metric-wrapper{display:flex;align-items:center;justify-content:center}.BaseMetricsDial svg text{fill:var(--text-color)}.UserMenu{display:flex;position:relative;justify-content:flex-end;padding:6px 10px;background-color:var(--light-gray);border-bottom:1px solid var(--medium-gray)}.UserMenu .user-dropdown-button{display:flex;align-items:center;background-color:var(--medium-gray);color:var(--text-color);border:1px solid var(--border-color);border-radius:4px;padding:4px 8px 4px 4px;cursor:pointer;transition:background-color .2s ease;height:36px;min-width:70px}.UserMenu .user-dropdown-button :hover{background-color:var(--info-color)}.UserMenu .user-dropdown-button .user-avatar-wrapper{display:flex;flex:1}.UserMenu .user-dropdown-button .user-avatar-wrapper .user-avatar{width:28px;height:28px;border-radius:50%;background-color:#3498db;display:flex;align-items:center;justify-content:center;margin-right:6px;font-weight:700;color:#fff;font-size:12px}.UserMenu .menu-button{background-color:var(--card-background);border:1px solid var(--medium-gray);border-radius:var(--border-radius);padding:6px 12px;cursor:pointer;font-size:14px;position:relative;transition:background-color .2s;color:var(--text-color)}.UserMenu .menu-button:hover{background-color:var(--medium-gray)}.UserMenu .user-dropdown-menu{position:absolute;top:calc(100% + 2px);right:0;background-color:var(--card-background);box-shadow:var(--box-shadow);border-radius:6px;border:1px solid var(--border-color);width:160px;z-index:1000;overflow:hidden}.UserMenu .user-dropdown-menu-item:disabled{background-color:var(--dark-gray);color:var(--light-gray);font-weight:700}.UserMenu .user-dropdown-menu-item{display:block;width:100%;text-align:left;padding:12px 15px;border:none;background-color:transparent;cursor:pointer;color:var(--text-color);font-weight:500;font-size:14px;border-bottom:1px solid var(--medium-gray);transition:background-color .2s ease}.UserMenu .user-dropdown-menu-item:hover{background-color:var(--light-gray)}.UserMenu .user-dropdown-menu-item:last-child{border-bottom:none}.UserMenu .user-dropdown-menu-item.dark-mode-toggle{display:flex;align-items:center}.UserMenu .user-dropdown-chevron{margin-left:auto;stroke:var(--text-color)}.UserMenu .message-badge{position:absolute;top:50%;right:15px;transform:translateY(-50%);background-color:var(--error-color);color:#fff;border-radius:50%;min-width:20px;height:20px;font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:700}.UserMenu .message-badge-wide{border-radius:10px;padding:0 4px}.MessageBanner{display:flex;justify-content:space-between;align-items:center;background-color:#3498db1a;padding:12px 15px;margin-bottom:15px;box-shadow:var(--box-shadow);border-radius:var(--border-radius);border:1px solid var(--primary-color);animation:slideDown .3s ease-out;transition:all .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.MessageBanner .message-content{flex:1;color:var(--text-color);overflow:hidden;margin-right:15px;display:flex;flex-direction:column;gap:6px}.MessageBanner .message-header-line{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--text-color)}.MessageBanner .message-icon{font-size:16px}.MessageBanner .message-subject{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.MessageBanner .message-counter{font-size:12px;color:var(--dark-gray);font-weight:500}.MessageBanner .message-divider{height:1px;background-color:var(--primary-color);opacity:.3;margin:2px 0}.MessageBanner .message-preview-text{font-size:13px;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.4}.MessageBanner .view-details-hint{font-size:11px;color:var(--primary-color);font-weight:600;font-style:italic;white-space:nowrap}.MessageBanner .message-content:hover .view-details-hint{text-decoration:underline}.MessageBanner .message-controls{display:flex;align-items:center;gap:10px}.MessageBanner .message-nav-button{background-color:var(--primary-color);color:#fff;border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:4px 10px;cursor:pointer;font-size:16px;line-height:1;min-width:32px;text-align:center;transition:background-color .2s,border-color .2s}.MessageBanner .message-nav-button:hover:not(:disabled){background-color:var(--secondary-color);border-color:var(--secondary-color)}.MessageBanner .message-nav-button:disabled{background-color:var(--medium-gray);color:var(--dark-gray);border-color:var(--medium-gray);cursor:not-allowed;opacity:.6}.MessageBanner .message-dismiss-button{cursor:pointer;font-size:16px;color:#000;font-weight:500;margin-left:10px;transition:font-weight .2s}.MessageBanner .message-dismiss-button:hover{font-weight:600}@media (max-width: 768px){.MessageBanner{flex-direction:column;align-items:stretch;gap:10px}.MessageBanner .message-content{margin-right:0}.MessageBanner .message-controls{justify-content:flex-end}}
