@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Fira+Code:wght@400;600&family=Poppins:wght@500;600;700&display=swap);body{background:#f6f7fb;background:var(--bg,#f6f7fb);color:#1f2937;color:var(--text,#1f2937);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg:#1f2124;--surface:#2a2c31;--surface-muted:#24262a;--surface-elevated:#31343a;--text:#f5f6f7;--text-muted:#c7ccd4;--text-soft:#9aa3af;--border:#3b3f47;--accent:#f97316;--accent-strong:#fb923c;--accent-soft:#3a2f27;--success:#16a34a;--warning:#f59e0b;--danger:#dc2626;--shadow:0 10px 30px #00000059;--shadow-soft:0 4px 16px #00000040;--radius:12px;--radius-lg:16px;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Poppins","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box;margin:0;padding:0;scrollbar-color:#f97316 #24262a;scrollbar-width:thin}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#24262a;border-radius:8px}::-webkit-scrollbar-thumb{background:#f97316;border:2px solid #24262a;border-radius:8px}::-webkit-scrollbar-thumb:active,::-webkit-scrollbar-thumb:hover{background:#fb923c}#root,body,html{height:100%;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1f2124;background-color:var(--bg);color:#f5f6f7;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);margin:0;overflow-x:hidden}.App{display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative}.glass-background{background:#1f2124;background:var(--bg);height:100%;left:0;position:fixed;top:0;width:100%;z-index:-1}.glass-panel{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#2a2c31;background:var(--surface);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 16px #00000040;box-shadow:var(--shadow-soft)}.loading-screen{align-items:center;color:#ff6b4a;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ff6b4a33;border-radius:50%;border-top-color:#ff6b4a;height:50px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.header{background:#1c1f2d;border-bottom:.5px solid #ffffff0f;box-shadow:0 2px 8px #0000004d;padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{justify-content:space-between;padding:1rem 2rem;position:relative;width:100%}.header-content,.logo-section{align-items:center;display:flex}.logo-section{background:#ffffff08;border:.5px solid #ffffff14;border-radius:12px;gap:12px;padding:8px 16px;transition:all .2s ease}.logo-section:hover{background:#ffffff0d;border-color:#ff6b4a33}.logo-icon{background:#ff6b4a1a;border:.5px solid #ff6b4a33;border-radius:8px;display:block;flex-shrink:0;height:36px;padding:2px;width:36px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f5f6f7,#f5f6f7);background:linear-gradient(135deg,var(--text) 0,var(--text) 100%);-webkit-background-clip:text;background-clip:text;color:#f5f6f7;color:var(--text);font-family:Poppins,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:-.4px;margin:0}@supports not (-webkit-background-clip:text){.header h1{-webkit-text-fill-color:#f5f6f7;-webkit-text-fill-color:var(--text);background:none;color:#f5f6f7;color:var(--text)}}.profile-section{gap:12px}.profile-info,.profile-section{align-items:center;display:flex}.profile-info{background:#ffffff0d;border:1px solid #ffffff14;border-radius:50px;gap:10px;padding:4px 14px 4px 4px;transition:all .2s ease}.profile-info:hover{background:#ffffff14}.profile-pic{border:2px solid #ff6b4a4d;border-radius:50%;height:32px;object-fit:cover;transition:all .2s ease;width:32px}.user-email{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn,.user-email{color:#ffffffd9;font-size:.875rem;font-weight:500}.logout-btn{align-items:center;background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;cursor:pointer;display:flex;gap:6px;padding:7px 14px;transition:all .2s ease}.logout-btn:hover{background:#ffffff14;border-color:#ffffff1f}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-backdrop{align-items:center;background:#0009;inset:0;justify-content:center;overscroll-behavior:contain;position:fixed;z-index:2000}.modal-backdrop,.modal-card{display:flex;overflow-y:auto;padding:20px}.modal-card{border-radius:14px;box-shadow:0 10px 30px #00000059;box-shadow:var(--shadow);flex-direction:column;gap:12px;max-height:85vh;width:min(720px,95vw)}.modal-card h3{color:#f5f6f7;color:var(--text);font-size:1.2rem;margin:0}.modal-subtitle{color:#c7ccd4;color:var(--text-muted);font-size:.85rem}.modal-body{max-height:55vh;overflow-y:auto;padding-right:6px}.modal-list{display:flex;flex-direction:column;gap:12px}.modal-row{grid-gap:10px;background:#24262a;background:var(--surface-muted);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:12px;display:grid;gap:10px;padding:12px}.modal-row.single{grid-template-columns:1fr}.modal-row-title{color:#c7ccd4;color:var(--text-muted);font-size:.85rem}.modal-input{border-radius:10px;font-size:.9rem;padding:10px 12px}.modal-input::placeholder{color:#9aa3af;color:var(--text-soft)}.modal-error{color:#dc2626;color:var(--danger);font-size:.85rem;margin-top:8px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.modal-btn{border:1px solid #fb923c;border:1px solid var(--accent-strong);border-radius:10px;cursor:pointer;font-weight:600;padding:8px 16px}.modal-btn.secondary{background:#2a2c31;background:var(--surface)}.modal-btn:disabled{cursor:not-allowed;opacity:.5}.modal-hint{color:#9aa3af;color:var(--text-soft);font-size:.78rem}.grading-instructions{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;display:flex;flex-direction:column;gap:8px;margin:12px 0 16px;padding:12px}.grading-instructions-header{align-items:center;color:#fffc;display:flex;font-size:.85rem;justify-content:space-between}.grading-instructions-header button{background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;color:#ffffffbf;cursor:pointer;padding:4px 10px}.grading-instructions textarea{background:#ffffff14;border:1px solid #ffffff1f;border-radius:10px;color:#ffffffe6;font-family:inherit;font-size:.85rem;padding:8px 10px;resize:vertical}.grading-instructions textarea::placeholder{color:#ffffff80}.grading-instructions textarea::-webkit-scrollbar{height:10px;width:10px}.grading-instructions textarea::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:8px}.grading-instructions textarea::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:8px}.grading-instructions textarea::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.grading-instructions-hint{color:#ffffff8c;font-size:.75rem}.nav-section{gap:12px;left:50%;position:absolute;transform:translateX(-50%)}.nav-btn,.nav-section{align-items:center;display:flex}.nav-btn{background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;color:#ffffffb3;cursor:pointer;font-size:.875rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.nav-btn:hover{background:#ffffff14;border-color:#ffffff1f;color:#ffffffe6}.nav-btn.active{background:#ff6b4a26;border-color:#ff6b4a4d;color:#ff6b4a}.main-container{display:flex;flex-grow:1;height:calc(100vh - 64px);padding:0}.sidebar{background:#1c1f2d;border-right:1px solid #ffffff14;display:flex;flex-direction:column;flex-shrink:0;gap:28px;overflow-y:auto;padding:32px 24px;width:300px}.upload-section{background:#0000;margin-bottom:18px;padding-bottom:6px}.upload-section h2{color:#fffffff2;font-size:1.25rem;letter-spacing:-.01em;margin-bottom:20px}.custom-file-upload,.upload-section h2{align-items:center;display:flex;font-weight:600;gap:10px}.custom-file-upload{background:linear-gradient(135deg,#ff6b4a,#ff8f6b);border:none;border-radius:10px;box-shadow:0 3px 10px #ff6b4a4d;color:#fff;cursor:pointer;font-size:.925rem;justify-content:center;letter-spacing:-.02em;padding:13px 20px;text-align:center;transition:all .2s ease}.custom-file-upload:hover{box-shadow:0 5px 16px #ff6b4a66;transform:translateY(-2px)}.custom-file-upload:active{transform:translateY(0)}input[type=file]{display:none}.file-preview{align-items:center;background:#ff6b4a0f;border:1px solid #ff6b4a2e;border-radius:12px;display:flex;gap:14px;margin-top:14px;padding:14px;transition:all .2s ease}.file-preview:hover{background:#ff6b4a1a;border-color:#ff6b4a40}.file-icon{font-size:1.75rem}.file-details{flex:1 1;min-width:0}.file-name{color:#e8e8e8;font-size:.9rem;font-weight:500;letter-spacing:-.01em;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#ffffff8c;font-size:.8rem}.grade-btn{align-items:center;background:linear-gradient(135deg,#ff6b4a,#ff8f6b);border:none;border-radius:10px;box-shadow:0 2px 8px #ff6b4a40;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;justify-content:center;margin-top:16px;padding:14px 20px;transition:all .2s ease;width:100%}.grade-btn:hover:not(:disabled){box-shadow:0 4px 12px #ff6b4a59}.grade-btn:disabled{background:#ffffff14;box-shadow:none;color:#fff6;cursor:not-allowed;opacity:.5}.btn-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.btn-spinner.small{height:14px;width:14px}.info-section{background:#ff6b4a0d;border:1px solid #ff6b4a1f;border-radius:12px;border-top-color:#ffffff14;margin-top:auto;padding:20px}.upload-section+.info-section{margin-top:24px}.info-section h3{align-items:center;color:#fffffff2;display:flex;font-size:1rem;font-weight:600;gap:8px;letter-spacing:-.01em;margin-bottom:14px}.info-section ul{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.info-section li{align-items:center;border-radius:6px;color:#fff9;display:flex;font-size:.875rem;gap:10px;line-height:1.4;padding:8px;transition:all .2s ease}.info-section li:hover{background:#ff6b4a1a;color:#ffffffe6;transform:translateX(2px)}.chat-container{background:#1a1d2e;display:flex;flex:1 1;flex-direction:column;gap:0;min-width:0}.chat-tabs-bar{align-items:center;border-bottom:1px solid #ffffff14;display:flex;gap:12px;padding:12px 20px}.chat-tabs{display:flex;flex:1 1;gap:8px;overflow-x:auto}.chat-tab{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;color:#fffc;cursor:pointer;display:inline-flex;gap:8px;padding:6px 10px;white-space:nowrap}.chat-tab-title{max-width:120px;overflow:hidden;text-overflow:ellipsis}.chat-tab-actions{display:inline-flex;gap:4px}.chat-tab-action{background:#0000;border:none;color:#c7ccd4;color:var(--text-muted);cursor:pointer;padding:0 2px}.chat-new-btn{border:1px solid #4b55634d;border-radius:10px;cursor:pointer;padding:6px 10px}.error-banner{background:#ef44441a;border:1px solid #ef444433;border-radius:8px;color:#fca5a5;font-size:.875rem;gap:10px;margin:0 20px 16px;padding:12px 16px}.empty-state,.error-banner{align-items:center;display:flex}.empty-state{flex:1 1;flex-direction:column;justify-content:center;padding:60px 32px;text-align:center}.empty-icon{filter:grayscale(.3);font-size:3.5rem;margin-bottom:20px}.empty-state h2{color:#f5f6f7;color:var(--text);font-size:1.75rem;font-weight:600;letter-spacing:-.3px;margin-bottom:12px}.empty-state>p{color:#c7ccd4;color:var(--text-muted);font-size:1rem;line-height:1.65;margin-bottom:40px;max-width:520px}.feature-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));max-width:650px;width:100%}.feature-card{background:#2a2c31;background:var(--surface);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:12px;padding:20px;transition:all .2s ease}.feature-card:hover{background:#24262a;background:var(--surface-muted);border-color:#3b3f47;border-color:var(--border)}.feature-icon{font-size:1.75rem;margin-bottom:10px}.feature-card h4{color:#f5f6f7;color:var(--text);font-size:1rem;font-weight:600;margin-bottom:6px}.feature-card p{color:#c7ccd4;color:var(--text-muted);font-size:.875rem;line-height:1.55}.chat-messages{border:none;box-shadow:none;min-height:0;padding:34px 38px}.messages-wrapper{display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:1150px;width:100%}.message{animation:slideIn .35s ease-out;display:flex;gap:14px}@keyframes slideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse}.message-avatar{align-items:center;border-radius:50%;box-shadow:0 4px 16px #00000040;box-shadow:var(--shadow-soft);display:flex;flex-shrink:0;font-size:1.35rem;height:40px;justify-content:center;transition:transform .2s ease;width:40px}.message:hover .message-avatar{transform:scale(1.05)}.message.user .message-avatar{box-shadow:0 4px 16px #00000040;box-shadow:var(--shadow-soft)}.message-content{flex:1 1;max-width:88%;min-width:0}.message-header{align-items:center;display:flex;gap:12px;margin-bottom:8px}.message-author{color:#c7ccd4;color:var(--text-muted);font-size:.9rem;font-weight:600;letter-spacing:-.01em}.badge{border:1px solid #4b55634d;border-radius:12px;font-size:.725rem;font-weight:500;letter-spacing:.01em;padding:4px 10px}.message-content .markdown-content{border-radius:14px;font-size:.95rem;line-height:1.75;padding:18px 20px;transition:all .2s ease}.message:hover .markdown-content{background:#2a2c31;background:var(--surface);border-color:#3b3f47;border-color:var(--border)}.message.user .markdown-content{border-color:#3b3f47;border-color:var(--border);color:#f5f6f7;color:var(--text)}.message.user:hover .markdown-content{background:#24262a;background:var(--surface-muted);border-color:#3b3f47;border-color:var(--border)}.typing-indicator{background:#24262a;background:var(--surface-muted);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:12px;display:flex;gap:6px;padding:14px 18px;width:-webkit-fit-content;width:fit-content}.typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:#9aa3af;background:var(--text-soft);border-radius:50%;height:7px;width:7px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}.grading-carousel{display:flex;flex-direction:column;gap:0;margin:0 auto;max-width:1150px;width:100%}.grading-carousel-header{align-items:center;display:flex;flex-shrink:0;gap:16px;justify-content:space-between;margin-bottom:8px;padding:12px 0 20px}.grading-carousel-arrow{align-items:center;background:#31343a;background:var(--surface-elevated);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:12px;color:#f5f6f7;color:var(--text);cursor:pointer;display:flex;height:44px;justify-content:center;transition:background .2s,border-color .2s,transform .15s;width:44px}.grading-carousel-arrow:hover:not(:disabled){background:#2a2c31;background:var(--surface);border-color:#f97316;border-color:var(--accent);color:#f97316;color:var(--accent);transform:scale(1.05)}.grading-carousel-arrow:disabled{cursor:not-allowed;opacity:.4}.grading-carousel-label{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.grading-carousel-counter{color:#f5f6f7;color:var(--text);font-size:1rem;font-weight:600;letter-spacing:-.02em}.grading-carousel-filename{color:#c7ccd4;color:var(--text-muted);font-size:.85rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grading-carousel-body{flex:1 1;min-height:0}.grading-carousel-body .message{margin-bottom:0}.grading-carousel-followups{border-top:1px solid #3b3f47;border-top:1px solid var(--border);margin-top:28px;padding-top:24px}.assignment-insights{display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:720px;padding:24px}.assignment-insights-title{color:#f5f6f7;color:var(--text);font-family:Poppins,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-display);font-size:1.5rem;font-weight:600;margin:0}.assignment-insights-subtitle{color:#c7ccd4;color:var(--text-muted);font-size:.95rem;margin:-8px 0 0}.assignment-insights-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.assignment-insights-stat{background:#31343a;background:var(--surface-elevated);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;flex-direction:column;gap:6px;padding:18px 20px}.assignment-insights-stat-label{color:#c7ccd4;color:var(--text-muted);font-size:.85rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.assignment-insights-stat-value{color:#f5f6f7;color:var(--text);font-size:1.6rem;font-weight:700}.assignment-insights-stat-avg .assignment-insights-stat-value{color:#f97316;color:var(--accent)}.assignment-insights-stat-high .assignment-insights-stat-value{color:#16a34a;color:var(--success)}.assignment-insights-stat-low .assignment-insights-stat-value{color:#f59e0b;color:var(--warning)}.assignment-insights-chart-wrap{display:flex;flex-direction:column;gap:12px}.assignment-insights-chart-title{color:#f5f6f7;color:var(--text);font-size:1rem;font-weight:600;margin:0}.assignment-insights-chart{background:#2a2c31;background:var(--surface);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);overflow:auto}.assignment-insights-table{border-collapse:collapse;font-size:.95rem;width:100%}.assignment-insights-table td,.assignment-insights-table th{border-bottom:1px solid #3b3f47;border-bottom:1px solid var(--border);padding:12px 16px;text-align:left}.assignment-insights-table th{background:#24262a;background:var(--surface-muted);color:#c7ccd4;color:var(--text-muted);font-weight:600}.assignment-insights-table tbody tr:last-child td{border-bottom:none}.assignment-insights-table tbody tr:hover{background:#ffffff08}.assignment-insights-grade{color:#f5f6f7;color:var(--text);font-weight:600}.assignment-insights-pct{color:#c7ccd4;color:var(--text-muted);font-size:.9rem;margin-left:4px}.assignment-insights-bullets{background:#31343a;background:var(--surface-elevated);border:1px solid #3b3f47;border-left:4px solid #f59e0b;border:1px solid var(--border);border-left:4px solid var(--warning);border-radius:12px;border-radius:var(--radius);padding:20px 24px}.assignment-insights-bullets-title{align-items:center;color:#f5f6f7;color:var(--text);display:flex;font-size:1rem;font-weight:600;gap:10px;margin:0 0 16px}.assignment-insights-bullets-icon{font-size:1.2rem;line-height:1}.assignment-insights-bullets-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.assignment-insights-bullets-item{align-items:flex-start;background:#ffffff08;border-left:4px solid #3b3f47;border-left:4px solid var(--border);border-radius:8px;color:#c7ccd4;color:var(--text-muted);display:flex;font-size:.9rem;gap:12px;line-height:1.45;padding:14px 16px}.assignment-insights-bullets-item:hover{background:#ffffff0d}.assignment-insights-bullets-item-high{background:#dc26260f;border-left-color:#dc2626;border-left-color:var(--danger)}.assignment-insights-bullets-item-high .assignment-insights-bullets-marker{background:#dc2626;background:var(--danger)}.assignment-insights-bullets-item-medium{background:#f59e0b0f;border-left-color:#f59e0b;border-left-color:var(--warning)}.assignment-insights-bullets-item-medium .assignment-insights-bullets-marker{background:#f59e0b;background:var(--warning)}.assignment-insights-bullets-item-low{background:#ffffff05;border-left-color:#9aa3af;border-left-color:var(--text-soft)}.assignment-insights-bullets-item-low .assignment-insights-bullets-marker{background:#9aa3af;background:var(--text-soft)}.assignment-insights-bullets-marker{background:#3b3f47;background:var(--border);border-radius:50%;flex-shrink:0;height:6px;margin-top:8px;width:6px}.assignment-insights-bullets-content{flex:1 1;min-width:0}.assignment-insights-bullets-headline{color:#f5f6f7;color:var(--text);display:block;font-size:.95rem;margin-bottom:4px}.assignment-insights-bullets-headline strong{color:#f5f6f7;color:var(--text);font-weight:600}.assignment-insights-bullets-explanation{color:#c7ccd4;color:var(--text-muted);font-size:.85rem;line-height:1.4;margin:0;padding-left:0}.assignment-insights-standards{background:#31343a;background:var(--surface-elevated);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);padding:16px 20px}.assignment-insights-standards-title{color:#f5f6f7;color:var(--text);font-size:1rem;font-weight:600;margin:0 0 8px}.assignment-insights-standards p{color:#c7ccd4;color:var(--text-muted);font-size:.9rem;line-height:1.5;margin:0}.assignment-insights-cta{align-items:center;color:#c7ccd4;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.9rem;gap:8px}.assignment-insights-link{background:none;border:none;color:#f97316;color:var(--accent);cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:underline}.assignment-insights-link:hover{color:#fb923c;color:var(--accent-strong)}.smart-compare{background:#24262a;background:var(--surface-muted);display:flex;flex:1 1;flex-direction:column;min-height:0;width:100%}.smart-compare-toolbar{background:#2a2c31;background:var(--surface);border-bottom:1px solid #3b3f47;border-bottom:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;gap:12px;padding:16px 24px}.smart-compare-toolbar-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.smart-compare-source-label{color:#c7ccd4;color:var(--text-muted);font-size:.9rem;font-weight:500}.smart-compare-refresh-btn{background:#31343a;background:var(--surface-elevated);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:8px;color:#f5f6f7;color:var(--text);cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 14px;transition:background .2s,border-color .2s}.smart-compare-refresh-btn:hover{background:#24262a;background:var(--surface-muted);border-color:#f97316;border-color:var(--accent)}.smart-compare-grade-bar{background:#2a2c31;background:var(--surface);border-bottom:1px solid #3b3f47;border-bottom:1px solid var(--border);flex-shrink:0;padding:16px 24px}.smart-compare-grade-bar-inner{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.smart-compare-grade-label{color:#f5f6f7;color:var(--text);font-size:.95rem;font-weight:600}.smart-compare-grade-input-wrap{align-items:center;display:inline-flex;gap:8px}.smart-compare-grade-input-label{color:#c7ccd4;color:var(--text-muted);font-size:.875rem;font-weight:500}.smart-compare-grade-input{background:#31343a;background:var(--surface-elevated);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:8px;color:#f5f6f7;color:var(--text);font-size:.95rem;font-weight:500;padding:8px 12px;width:72px}.smart-compare-grade-input:focus{border-color:#f97316;border-color:var(--accent);outline:none}.smart-compare-approve-btn{background:#16a34a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;margin-left:auto;padding:8px 20px;transition:background .2s}.smart-compare-approve-btn:hover:not(:disabled){background:#15803d}.smart-compare-approve-btn:disabled{cursor:not-allowed;opacity:.8}.smart-compare-grade-error{color:#dc2626;color:var(--danger,#dc2626);font-size:.875rem;margin:10px 20px 0}.smart-compare-empty-state{align-items:center;color:#c7ccd4;color:var(--text-muted);display:flex;flex:1 1;flex-direction:column;gap:16px;justify-content:center;padding:48px 24px;text-align:center}.smart-compare-empty-state h3{color:#f5f6f7;color:var(--text);font-size:1.25rem;font-weight:600;margin:0}.smart-compare-empty-state p{font-size:.95rem;line-height:1.6;margin:0;max-width:420px}.smart-compare-empty-icon{font-size:3rem;opacity:.7}.smart-compare-file-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.smart-compare-upload-btn{align-items:center;background:#31343a;background:var(--surface-elevated);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:10px;color:#f5f6f7;color:var(--text);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;justify-content:center;padding:10px 16px;transition:background .2s,border-color .2s}.smart-compare-upload-btn:hover{background:#24262a;background:var(--surface-muted);border-color:#f97316;border-color:var(--accent)}.smart-compare-upload-btn.secondary .smart-compare-upload-label{color:#c7ccd4;color:var(--text-muted)}.smart-compare-upload-label{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-compare-run-btn{align-items:center;background:#f97316;background:var(--accent);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:8px;padding:10px 18px;transition:background .2s}.smart-compare-run-btn:hover:not(:disabled){background:#fb923c;background:var(--accent-strong)}.smart-compare-run-btn:disabled{cursor:not-allowed;opacity:.6}.smart-compare-instructions{display:flex;flex-direction:column;gap:6px}.smart-compare-instructions-label{color:#c7ccd4;color:var(--text-muted);font-size:.85rem;font-weight:500}.smart-compare-instructions-input{background:#31343a;background:var(--surface-elevated);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:8px;color:#f5f6f7;color:var(--text);font-size:.9rem;max-width:480px;min-height:52px;padding:10px 12px;resize:vertical;width:100%}.smart-compare-instructions-input::placeholder{color:#9aa3af;color:var(--text-soft)}.smart-compare-instructions-input:focus{border-color:#f97316;border-color:var(--accent);box-shadow:0 0 0 2px #4b556326;outline:none}.smart-compare-error{background:#dc262614;border-bottom:1px solid #dc262633;color:#dc2626;color:var(--danger,#dc2626);flex-shrink:0;font-size:.9rem;padding:12px 24px}.smart-compare-panes{grid-gap:0;display:grid;flex:1 1;gap:0;grid-template-columns:1fr 1fr;min-height:0}.smart-compare-pane{background:#2a2c31;background:var(--surface);border-right:1px solid #3b3f47;border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;min-width:0}.smart-compare-pane-right{border-left:1px solid #3b3f47;border-left:1px solid var(--border);border-right:none}.smart-compare-pane-header{align-items:center;background:#24262a;background:var(--surface-muted);border-bottom:1px solid #3b3f47;border-bottom:1px solid var(--border);color:#f5f6f7;color:var(--text);display:flex;flex-shrink:0;flex-wrap:wrap;font-size:.95rem;font-weight:600;gap:10px;padding:12px 20px}.smart-compare-pane-header-with-grade{gap:12px;justify-content:space-between}.smart-compare-pane-header-left{align-items:center;display:flex;gap:10px}.smart-compare-grade-on-right{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.smart-compare-grade-on-right .smart-compare-grade-label{color:#f97316;color:var(--accent);font-size:1rem;font-weight:600;min-width:2.5em}.smart-compare-grade-on-right .smart-compare-grade-input-wrap{align-items:center;display:flex;gap:6px}.smart-compare-grade-on-right .smart-compare-grade-input-label{color:#c7ccd4;color:var(--text-muted);font-size:.8rem;font-weight:500}.smart-compare-grade-on-right .smart-compare-grade-input{font-size:.9rem;padding:6px 8px;width:4em}.smart-compare-grade-on-right .smart-compare-approve-btn{font-size:.875rem;padding:6px 14px}.smart-compare-pane-filename{color:#c7ccd4;color:var(--text-muted);font-size:.85rem;font-weight:400}.smart-compare-saved-badge{background:#16a34a26;border-radius:6px;color:#16a34a;font-size:.75rem;font-weight:600;margin-left:0;padding:4px 10px}.smart-compare-pane-header:not(.smart-compare-pane-header-with-grade) .smart-compare-saved-badge{margin-left:auto}.smart-compare-view-toggle-wrap{align-items:center;background:#24262a;background:var(--surface-muted);border-bottom:1px solid #3b3f47;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:10px;padding:10px 20px}.smart-compare-view-toggle-label{color:#c7ccd4;color:var(--text-muted);font-size:.875rem;font-weight:500}.smart-compare-view-toggle{background:#31343a;background:var(--surface-elevated);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.smart-compare-view-toggle-btn{background:#0000;border:none;color:#c7ccd4;color:var(--text-muted);cursor:pointer;font-size:.875rem;font-weight:500;padding:6px 14px;transition:background .2s,color .2s}.smart-compare-view-toggle-btn:hover{background:#24262a;background:var(--surface-muted);color:#f5f6f7;color:var(--text)}.smart-compare-view-toggle-btn.active{background:#f97316;background:var(--accent);color:#fff}.smart-compare-feedback-loading{color:#c7ccd4;color:var(--text-muted);font-size:.875rem;margin:0 0 12px}.smart-compare-carousel-header{align-items:center;background:#24262a;background:var(--surface-muted);border-bottom:1px solid #3b3f47;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:16px;justify-content:space-between;padding:12px 20px}.smart-compare-result-body{padding-top:16px}.smart-compare-pane-body{flex:1 1;min-height:0;overflow:auto;padding:20px;scroll-behavior:smooth;scrollbar-color:#f97316 #24262a;scrollbar-width:thin}.smart-compare-pane-body::-webkit-scrollbar{height:10px;width:10px}.smart-compare-pane-body::-webkit-scrollbar-track{background:#2a2c31;border-radius:8px}.smart-compare-pane-body::-webkit-scrollbar-thumb{background:#f97316;border:2px solid #2a2c31;border-radius:8px}.smart-compare-pane-body::-webkit-scrollbar-thumb:active,.smart-compare-pane-body::-webkit-scrollbar-thumb:hover{background:#fb923c}.smart-compare-empty{align-items:center;color:#c7ccd4;color:var(--text-muted);display:flex;flex-direction:column;font-size:.95rem;justify-content:center;min-height:200px;padding:24px;text-align:center}.smart-compare-empty p{margin:0 0 8px}.smart-compare-muted{font-size:.85rem;opacity:.8}.smart-compare-preview-media{align-items:flex-start;display:flex;justify-content:center;min-height:200px;width:100%}.smart-compare-preview-media img{border:1px solid #3b3f47;border:1px solid var(--border);border-radius:8px;height:auto;max-width:100%}.smart-compare-preview-media iframe{background:#fff;min-height:480px;width:100%}.smart-compare-preview-media iframe,.smart-compare-preview-text{border:1px solid #3b3f47;border:1px solid var(--border);border-radius:8px}.smart-compare-preview-text{background:#31343a;background:var(--surface-elevated);color:#f5f6f7;color:var(--text);font-family:inherit;font-size:.9rem;line-height:1.6;margin:0;padding:16px;white-space:pre-wrap;word-break:break-word}.smart-compare-loading{align-items:center;color:#c7ccd4;color:var(--text-muted);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:200px}.smart-compare-result{color:#fff;font-size:.95rem;line-height:1.7}.smart-compare-result.markdown-content{background:#0000;border:none;padding:0;scrollbar-color:#f97316 #24262a;scrollbar-width:thin}.smart-compare-result.markdown-content::-webkit-scrollbar{height:10px;width:10px}.smart-compare-result.markdown-content::-webkit-scrollbar-track{background:#f9fafb;border-radius:8px}.smart-compare-result.markdown-content::-webkit-scrollbar-thumb{background:#f97316;border:2px solid #f9fafb;border-radius:8px}.smart-compare-result.markdown-content::-webkit-scrollbar-thumb:active,.smart-compare-result.markdown-content::-webkit-scrollbar-thumb:hover{background:#fb923c}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{border-bottom:1px solid #3b3f47;border-bottom:1px solid var(--border);color:#fff;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin-bottom:.8em;margin-top:1.6em;padding-bottom:.4em}.markdown-content h1{font-size:1.65em}.markdown-content h2{font-size:1.4em}.markdown-content h3{font-size:1.2em}.markdown-content h4{font-size:1.05em}.markdown-content h1:first-child,.markdown-content h2:first-child,.markdown-content h3:first-child{margin-top:0}.markdown-content p{line-height:1.7;margin-bottom:1em}.markdown-content ol,.markdown-content ul{margin-bottom:1em;margin-left:20px;padding-left:8px}.markdown-content li{color:#fff;margin-bottom:.5em}.markdown-content strong{color:#fff;font-weight:600}.markdown-content em{color:#fff;font-style:italic}.markdown-content code{background:#f9fafb;border:1px solid #d1d5db;border-radius:5px;color:#10b981;font-family:Fira Code,monospace;font-size:.9em;padding:.2em .5em}.markdown-content pre{background:#f9fafb;border:1px solid #d1d5db;border-radius:10px;margin:1.5em 0;overflow-x:auto;padding:16px;scrollbar-color:#f97316 #24262a;scrollbar-width:thin}.markdown-content pre::-webkit-scrollbar{height:10px;width:10px}.markdown-content pre::-webkit-scrollbar-track{background:#24262a;border-radius:8px}.markdown-content pre::-webkit-scrollbar-thumb{background:#f97316;border:2px solid #24262a;border-radius:8px}.markdown-content pre::-webkit-scrollbar-thumb:active,.markdown-content pre::-webkit-scrollbar-thumb:hover{background:#fb923c}.markdown-content pre code{background:#0000;border:none;color:#fff;padding:0}.markdown-content table{background:#31343a;background:var(--surface-elevated);border:1px solid #3b3f47;border:1px solid var(--border);border-collapse:collapse;border-radius:12px;margin:1.5em 0;overflow:hidden;width:100%}.markdown-content td,.markdown-content th{border:1px solid #3b3f47;border:1px solid var(--border);line-height:1.5;padding:12px 16px;text-align:left}.markdown-content th{background:#24262a;background:var(--surface-muted);color:#fff;font-size:.95em;font-weight:600;letter-spacing:-.01em}.markdown-content td{color:#fff}.markdown-content tr:nth-child(2n){background:#2a2c31;background:var(--surface)}.markdown-content tr:hover{background:#24262a;background:var(--surface-muted)}.chat-input-container{background:#1c1f2d;border-top:1px solid #ffffff0f;padding:16px 24px}.input-wrapper{align-items:center;display:flex;gap:12px;margin:0 auto;max-width:920px}.chat-input{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;color:#fffffff2;flex:1 1;font-family:Inter,sans-serif;font-size:.925rem;line-height:1.5;outline:none;padding:14px 18px;transition:all .2s ease}.chat-input::placeholder{color:#fff6}.chat-input:focus{background:#ffffff12;border-color:#ff6b4a;box-shadow:0 0 0 3px #ff6b4a1a}.chat-input:disabled{cursor:not-allowed;opacity:.4}.send-btn{align-items:center;background:linear-gradient(135deg,#ff6b4a,#ff8f6b);border:none;border-radius:10px;box-shadow:0 2px 8px #ff6b4a40;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:all .2s ease;width:44px}.send-btn:hover:not(:disabled){box-shadow:0 5px 16px #ff6b4a66;transform:translateY(-2px)}.send-btn:active:not(:disabled){transform:translateY(0)}.send-btn:disabled{background:#ffffff14;box-shadow:none;cursor:not-allowed;opacity:.4}@media (max-width:1024px){.main-container{flex-direction:column;height:auto;min-height:calc(100vh - 64px)}.sidebar{border-bottom:1px solid #ffffff14;border-right:none;gap:28px;max-width:none;padding:24px 20px;width:100%}.app-subsidebar{display:none}.chat-container{min-height:500px}.feature-grid{gap:14px;grid-template-columns:1fr}.message-content{max-width:92%}}@media (max-width:768px){.header-content{padding:1rem 1.5rem}.header h1{font-size:1.25rem}.logo-section{gap:10px;padding:6px 12px}.logo-icon{font-size:1.5rem;height:32px;width:32px}.user-email{display:none}.chat-messages,.sidebar{padding:16px}.empty-state{padding:24px 16px}.empty-state h2{font-size:1.5rem}.empty-icon{font-size:3rem}.message-content{max-width:95%}.input-wrapper{gap:8px}.chat-input{font-size:.875rem;padding:10px 14px}.send-btn{height:40px;width:40px}}.app-shell{background:#1f2124;background:var(--bg);color:#f5f6f7;color:var(--text);display:flex;height:100vh}.app-sidebar{background:#2a2c31;background:var(--surface);border-right:1px solid #3b3f47;border-right:1px solid var(--border);box-shadow:0 4px 16px #00000040;box-shadow:var(--shadow-soft);display:flex;flex:0 0 auto;flex-direction:column;gap:24px;padding:88px 20px 24px;transition:width .2s ease;width:240px;z-index:5}.app-sidebar:not(:hover){width:72px}.sidebar-brand{align-items:center;background:#24262a;background:var(--surface-muted);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);cursor:pointer;display:flex;gap:12px;padding:10px 12px}.brand-title{color:#f5f6f7;color:var(--text);font-family:Poppins,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-display);font-size:1.1rem;font-weight:600}.brand-subtitle{color:#c7ccd4;color:var(--text-muted);font-size:.8rem}.sidebar-nav{display:flex;flex-direction:column;gap:10px}.sidebar-nav-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;color:#c7ccd4;color:var(--text-muted);cursor:pointer;display:flex;font-weight:600;gap:10px;padding:10px 14px;text-align:left;transition:all .2s ease}.sidebar-nav-btn svg{flex-shrink:0}.sidebar-label{transition:opacity .2s ease,width .2s ease;white-space:nowrap}.app-sidebar:not(:hover) .sidebar-nav-btn{gap:0;justify-content:center;padding:10px}.app-sidebar:not(:hover) .sidebar-nav-btn svg{margin:0}.app-sidebar:not(:hover) .sidebar-divider,.app-sidebar:not(:hover) .sidebar-help,.app-sidebar:not(:hover) .sidebar-label{height:0;opacity:0;overflow:hidden;pointer-events:none;width:0}.sidebar-nav-btn:hover{background:#24262a;background:var(--surface-muted);border-color:#3b3f47;border-color:var(--border);color:#f5f6f7;color:var(--text)}.sidebar-nav-btn.active{background:#3a2f27;background:var(--accent-soft);border-color:#4b556333;color:#fb923c;color:var(--accent-strong)}.sidebar-divider{background:#3b3f47;background:var(--border);height:1px}.sidebar-help{background:#24262a;background:var(--surface-muted);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);color:#c7ccd4;color:var(--text-muted);font-size:.85rem;line-height:1.5;padding:14px}.app-subsidebar .sidebar-divider{background:#3b3f47;background:var(--border);height:1px}.app-subsidebar .sidebar-help{background:#24262a;background:var(--surface-muted);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:0;color:#c7ccd4;color:var(--text-muted);font-size:.85rem;line-height:1.5;padding:14px}.app-subsidebar .sidebar-brand{border-radius:0;justify-content:center;margin-top:63px;text-align:center}.app-subsidebar .sidebar-nav{justify-content:center}.app-subsidebar .sidebar-nav-btn{border-radius:0;gap:10px;justify-content:center;padding:10px 14px;text-align:center}.app-subsidebar .sidebar-nav-btn svg{margin:0}.app-subsidebar .sidebar-divider,.app-subsidebar .sidebar-help,.app-subsidebar .sidebar-label{display:block}.app-main{display:flex;flex:1 1;flex-direction:column;min-width:0;padding-top:64px}.app-topbar{background:#2a2c31;background:var(--surface);border-bottom:1px solid #3b3f47;border-bottom:1px solid var(--border);border-radius:0;height:64px;justify-content:space-between;left:0;padding:0 24px;position:fixed;right:0;top:0;z-index:10}.app-topbar,.topbar-left{align-items:center;display:flex;gap:16px}.topbar-left{min-width:0}.header-brand{align-items:center;background:#24262a;background:var(--surface-muted);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);cursor:pointer;display:flex;flex-shrink:0;gap:10px;padding:6px 10px}.header-brand .brand-title{font-size:.95rem}.header-brand .brand-subtitle{font-size:.72rem}.page-title-group{display:flex;flex-direction:column;gap:2px}.page-title{color:#f5f6f7;color:var(--text);font-size:1.2rem;font-weight:600;margin:0}.page-subtitle{color:#c7ccd4;color:var(--text-muted);font-size:.85rem;margin:0}.topbar-actions{align-items:center;display:flex;gap:12px}.app-content{display:flex;flex:1 1;flex-direction:column;min-height:0;padding:0}.topbar-profile{align-items:center;background:#24262a;background:var(--surface-muted);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:999px;display:flex;gap:10px;padding:6px 12px}.profile-pic{border:2px solid #4b556333}.logo-icon{background:#3a2f27;background:var(--accent-soft);border:1px solid #4b556333}.topbar-email{color:#c7ccd4;color:var(--text-muted);font-size:.85rem;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-logout{background:#f97316;background:var(--accent);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:8px 14px;transition:background .2s ease}.topbar-logout:hover{background:#fb923c;background:var(--accent-strong)}.main-container{grid-gap:0;display:grid;gap:0;grid-template-columns:minmax(220px,280px) 1fr;height:100%;overflow:hidden;width:100%}.grading-sidebar{background:#2a2c31;background:var(--surface);border:1px solid #3b3f47;border:1px solid var(--border);border-radius:0;box-shadow:none;display:flex;flex-direction:column;gap:20px;overflow-y:auto;padding:24px}.upload-section h2{color:#f5f6f7;color:var(--text);font-size:1.15rem;margin-bottom:12px}.file-upload-group{display:flex;flex-direction:column;gap:12px}.upload-section--secondary{margin-top:-22px}.custom-file-upload{background:#f97316;background:var(--accent);box-shadow:none}.custom-file-upload:hover{background:#fb923c;background:var(--accent-strong);transform:translateY(-1px)}.file-preview{background:#24262a;background:var(--surface-muted);border:1px solid #3b3f47;border:1px solid var(--border)}.file-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.file-name{color:#f5f6f7;color:var(--text)}.file-size{color:#9aa3af;color:var(--text-soft)}.file-status{font-size:.75rem;margin-top:4px}.file-status.processing{color:#f59e0b;color:var(--warning)}.file-status.success{color:#16a34a;color:var(--success)}.file-status.error{color:#dc2626;color:var(--danger)}.database-toggle{margin:8px 0 4px}.database-toggle-label{align-items:center;color:#c7ccd4;color:var(--text-muted);cursor:pointer;display:flex;font-size:.875rem;gap:8px;-webkit-user-select:none;user-select:none}.database-toggle-checkbox{accent-color:#f97316;accent-color:var(--accent);cursor:pointer;height:18px;width:18px}.database-toggle-hint{color:#f59e0b;color:var(--warning);font-size:.75rem;margin-left:26px;margin-top:6px}.grading-instructions{background:#24262a;background:var(--surface-muted);border:1px solid #3b3f47;border:1px solid var(--border)}.grading-instructions-header,.grading-instructions-header button{color:#c7ccd4;color:var(--text-muted)}.grading-instructions-header button{background:#2a2c31;background:var(--surface);border:1px solid #3b3f47;border:1px solid var(--border)}.grading-instructions textarea{background:#31343a;background:var(--surface-elevated);border:1px solid #3b3f47;border:1px solid var(--border);color:#f5f6f7;color:var(--text)}.grading-instructions-hint{color:#9aa3af;color:var(--text-soft)}.grade-btn{background:#f97316;background:var(--accent);box-shadow:none}.grade-btn:hover:not(:disabled){background:#fb923c;background:var(--accent-strong);transform:translateY(-1px)}.info-section{background:#24262a;background:var(--surface-muted);border:1px solid #3b3f47;border:1px solid var(--border)}.info-section h3{color:#f5f6f7;color:var(--text)}.info-section li{color:#c7ccd4;color:var(--text-muted)}.info-section li:hover{background:#4b556314;color:#f5f6f7;color:var(--text)}.chat-container{border:1px solid #3b3f47;border:1px solid var(--border);border-radius:0;box-shadow:none;overflow:hidden}.chat-container,.chat-tabs-bar{background:#2a2c31;background:var(--surface)}.chat-tabs-bar{border-bottom:1px solid #3b3f47;border-bottom:1px solid var(--border)}.chat-tab{background:#24262a;background:var(--surface-muted);border:1px solid #3b3f47;border:1px solid var(--border);color:#c7ccd4;color:var(--text-muted)}.chat-new-btn,.chat-tab.active{background:#3a2f27;background:var(--accent-soft);border-color:#4b55634d;color:#fb923c;color:var(--accent-strong)}.error-banner{background:#dc262614;border:1px solid #dc262633;color:#dc2626;color:var(--danger)}.chat-messages{background:#24262a}.message-avatar,.message.user .message-avatar{background:#31343a;background:var(--surface-elevated);box-shadow:none}.message-content .markdown-content{background:#31343a;background:var(--surface-elevated);border:1px solid #3b3f47;border:1px solid var(--border);color:#f5f6f7;color:var(--text)}.message.user .markdown-content{background:#2a2c31;background:var(--surface);border-color:#4b556340}.badge{background:#3a2f27;background:var(--accent-soft);border-color:#4b55634d;color:#fb923c;color:var(--accent-strong)}.chat-input-container{background:#2a2c31;background:var(--surface);border-top:1px solid #3b3f47;border-top:1px solid var(--border)}.chat-input{background:#31343a;background:var(--surface-elevated);border:1px solid #3b3f47;border:1px solid var(--border);color:#f5f6f7;color:var(--text)}.chat-input::placeholder{color:#9aa3af;color:var(--text-soft)}.chat-input:focus{border-color:#f97316;border-color:var(--accent);box-shadow:0 0 0 3px #4b556326}.send-btn{background:#f97316;background:var(--accent);box-shadow:none}.send-btn:hover:not(:disabled){background:#fb923c;background:var(--accent-strong)}.modal-card{background:#2a2c31;background:var(--surface)}.modal-card,.modal-input{border:1px solid #3b3f47;border:1px solid var(--border)}.modal-input{background:#31343a;background:var(--surface-elevated);color:#f5f6f7;color:var(--text)}.modal-btn{background:#f97316;background:var(--accent);border:none;color:#fff}.modal-btn.secondary{background:#24262a;background:var(--surface-muted);border:1px solid #3b3f47;border:1px solid var(--border);color:#f5f6f7;color:var(--text)}@media (max-width:1024px){.app-shell{flex-direction:column}.app-sidebar{align-items:center;flex-direction:row;gap:12px;justify-content:space-between;padding:16px 20px;width:100%}.app-sidebar:not(:hover){width:100%}.sidebar-nav{flex-direction:row}.sidebar-help{display:none}.main-container{grid-template-columns:1fr}}@media (max-width:768px){.app-topbar{padding:0 16px}.app-content{padding:16px}.topbar-email{display:none}}.login-wrapper{align-items:center;background:var(--bg);display:flex;font-family:var(--font-sans);justify-content:center;min-height:100vh;padding:20px}.login-card{animation:fadeInUp .6s ease-out forwards;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);max-width:400px;padding:40px;text-align:center;transform:translateY(-10px);width:100%}.login-card h2{color:var(--text);font-size:1.8rem;font-weight:600;margin-bottom:30px;padding-bottom:15px;position:relative}.login-card h2:after{background:var(--accent);border-radius:3px;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.google-btn{align-items:center;background:var(--accent);border:none;border-radius:8px;box-shadow:var(--shadow-soft);color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:12px;height:50px;justify-content:center;margin-top:25px;overflow:hidden;position:relative;transition:all .3s ease;width:100%}.google-btn.secondary{background:var(--accent-soft);border:1px solid #2563eb4d;box-shadow:none;color:var(--accent-strong);margin-top:12px}.google-btn.secondary:before{display:none}.auth-error{color:var(--danger);margin-top:16px}.auth-error,.auth-message{font-size:.95rem;text-align:center}.auth-message{color:var(--text);margin-top:12px}.auth-form{display:flex;flex-direction:column;gap:12px;margin-top:10px}.auth-input{border:1px solid var(--border);border-radius:8px;font-size:.95rem;height:46px;padding:0 14px;width:100%}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb26;outline:none}.auth-link{background:#0000;border:none;color:var(--accent);cursor:pointer;font-weight:600;margin-top:12px}.google-btn:hover{background:var(--accent-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.google-btn:active{transform:translateY(0)}.google-btn:before{background:url(https://www.google.com/favicon.ico) no-repeat 50%;background-size:contain;content:"";display:inline-block;height:24px;vertical-align:middle;width:24px}@media (max-width:480px){.login-card{margin:0 15px;padding:30px 20px}.login-card h2{font-size:1.5rem}.google-btn{font-size:.95rem;height:48px}}.dashboard{background:#0f1117;border-radius:0;color:#ffffffe6;height:100%;margin:0;overflow:hidden;overflow-x:hidden;overscroll-behavior:contain;padding:0}.dashboard-layout{overflow:visible;padding-top:0}.dashboard-header{margin-bottom:32px}.dashboard-header h1{color:#fffffff2;font-size:2rem;font-weight:700;margin-bottom:24px}.dashboard-layout{box-sizing:border-box;display:flex;gap:0;height:100%;margin:0;padding:0}.analytics-sidebar{display:flex;flex:none;flex-direction:column;min-width:0}.resize-divider{background:#ffffff1a;cursor:col-resize;position:relative;transition:background-color .2s ease;width:4px}.resize-divider:hover{background:#ff6b4a80}.resize-divider:before{background:#ffffff4d;border-radius:1px;content:"";height:30px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:2px}.resize-divider:hover:before{background:#ff6b4acc}.analytics-buttons{display:flex;flex-direction:column;gap:0;margin-bottom:0}.dropdown-container{position:relative}.dropdown-toggle{align-items:center;background:#0000;border:2px solid #ffffff1a;border-radius:0;color:#fffc;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:12px;padding:16px 20px;text-align:left;transition:all .2s ease;width:100%}.dropdown-toggle:hover{background:#ffffff0d;border-color:#fff3;color:#ffffffe6}.dropdown-arrow{margin-left:auto;transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1117f2;border:1px solid #fff3;border-radius:0;left:0;margin-top:0;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.dropdown-menu button{align-items:center;background:#0000;border:none;color:#fffc;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.dropdown-menu button:hover{background:#ffffff0d;color:#ffffffe6}.dropdown-menu button.active{background:#ff6b4a1a;color:#ff6b4a}.dropdown-menu button:first-child,.dropdown-menu button:last-child{border-radius:0}.dashboard{background:var(--bg)}.dashboard,.dashboard-header h1{color:var(--text)}.dashboard-layout{padding:8px 12px 24px}.dropdown-toggle{background:var(--surface);border:1px solid var(--border);color:var(--text)}.dropdown-toggle:hover{background:var(--surface-muted);border-color:var(--border);color:var(--text)}.dropdown-menu{background:var(--surface);border:1px solid var(--border)}.dropdown-menu button{color:var(--text)}.dropdown-menu button:hover{background:var(--surface-muted);color:var(--text)}.dropdown-menu button.active{background:var(--accent-soft);color:var(--accent-strong)}.analytics-content{border:0;margin-left:0;padding:28px 28px 28px 24px}.analytics-filters{gap:20px;margin:20px 0 28px}.overview-cards{gap:16px;margin-bottom:24px}.overview-card{padding:16px}.chart-container{padding:20px}.category-management,.chart-container,.overview-card,.standards-summary-card,.stat-card{background:var(--surface-elevated);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.category-item label,.category-management h4,.chart-subtitle,.overview-label,.overview-subtext,.weighting-toggle{color:var(--text-muted)}.chart-container h3,.dashboard .analytics-content,.dashboard .category-management,.dashboard .chart-container,.dashboard .overview-card,.dashboard .standards-summary-card,.dashboard .stat-card,.overview-value,.stat-card h3{color:var(--text)}.recharts-cartesian-axis-tick-value,.recharts-text{fill:var(--text-muted)}.recharts-legend-item-text{color:var(--text-muted)}.recharts-default-tooltip{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.category-add input,.category-item input{background:var(--surface-elevated);border:1px solid var(--border);color:var(--text)}.analytics-content{background:var(--surface-muted);border:none;border-radius:0;box-shadow:none;flex:1 1;overflow-y:auto;padding:24px;scroll-behavior:smooth;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}.analytics-content::-webkit-scrollbar{height:10px;width:10px}.analytics-content::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:8px}.analytics-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:8px}.analytics-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.analytics-content::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active)}.chat-messages::-webkit-scrollbar-thumb:active{background:var(--accent-strong)}.analytics-content,.chat-messages{position:relative}.analytics-filters{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:16px 0 24px}.submissions-filters{margin-bottom:20px}.overview-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:18px}.overview-card{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:0;display:flex;flex-direction:column;gap:6px;padding:12px}.overview-label{color:#ffffffa6;font-size:.8rem}.overview-value{color:#fffffff2;font-size:1.1rem;font-weight:600}.overview-subtext{color:#ffffff8c;font-size:.75rem}.chart-subtitle{color:#fff9;font-size:.8rem;margin:4px 0 10px}.category-management{background:#ffffff05;border:1px solid #ffffff14;border-radius:10px;margin-top:16px;padding:12px}.category-management h4{color:#ffffffd9;font-size:.95rem;margin:0 0 8px}.weighting-toggle{align-items:center;color:#ffffffbf;display:flex;font-size:.85rem;gap:8px;margin-bottom:10px}.category-list{display:flex;flex-direction:column;gap:8px}.category-item{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1.2fr .6fr auto auto}.category-item input{border:1px solid #ffffff1f;border-radius:0}.category-add input,.category-item input{background:#ffffff0f;color:#ffffffd9;padding:6px 8px}.category-add input{border:1px solid #ffffff1f;border-radius:8px}.category-add input::placeholder,.category-item input::placeholder{color:#ffffff73}.category-add button,.category-item button{background:#ff6b4a2e;border:1px solid #ff6b4a66;border-radius:8px;color:#ff6b4a;cursor:pointer;padding:6px 10px}.category-add button:hover,.category-item button:hover{background:#ff6b4a4d;border-color:#ff6b4a99}.category-item button.danger{background:#ff4c4c26;border-color:#ff4c4c66;color:#ff4c4c}.category-add{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1.2fr .6fr auto}.category-add,.category-select{margin-top:10px}.category-select label{color:#ffffffb3;display:flex;flex-direction:column;font-size:.85rem;gap:6px}.category-hint{color:#ffffff8c;font-size:.75rem;margin-top:6px}.category-select select{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;color:#ffffffe6;padding:6px 8px}.category-select select option{color:#111}.searchable-select{background:#ffffff08;border:1px solid #ffffff1a;border-radius:0;display:flex;flex-direction:column;gap:8px;padding:12px}.searchable-label{color:#ffffffb3;font-size:.85rem}.searchable-input-row{display:flex;gap:8px}.searchable-actions{display:flex;margin-top:6px}.searchable-input{background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;color:#fff;flex:1 1;padding:8px 10px}.searchable-input::placeholder{color:#ffffff73}.searchable-clear{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:8px;color:#fffc;cursor:pointer;padding:6px 10px;width:100%}.searchable-selected{color:#ffffffbf;font-size:.8rem}.searchable-options{display:flex;flex-wrap:wrap;gap:6px;max-height:140px;overflow:auto;padding-right:4px}.searchable-option{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;color:#fffc;cursor:pointer;font-size:.8rem;padding:6px 10px;transition:all .2s ease}.searchable-option.active{background:#ff6b4a33;border-color:#ff6b4a66;color:#ff6b4a}.searchable-option:hover{border-color:#fff3}.searchable-empty{color:#ffffff80;font-size:.8rem;padding:4px 2px}.submissions-list{display:flex;flex-direction:column;gap:10px}.submission-row{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px}.submission-row span{color:#ffffffd9;font-size:.9rem}.submission-separator{color:#fff6}.submission-grade{color:#ff9f7b;font-weight:600}.submission-feedback-btn{background:#2196f326;border:1px solid #2196f366;border-radius:8px;color:#8ec7ff;cursor:pointer;font-size:.82rem;margin-left:auto;padding:6px 10px;transition:background .2s ease,border-color .2s ease}.submission-feedback-btn:hover:not(:disabled){background:#2196f340;border-color:#2196f399}.submission-feedback-btn:disabled{cursor:not-allowed;opacity:.5}.rubric-summary{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;margin-top:16px;padding:14px}.rubric-summary h3{color:#ffffffe6;font-size:1rem;margin:0 0 10px}.rubric-summary-list{display:flex;flex-direction:column;gap:8px}.rubric-summary-item{border-bottom:1px solid #ffffff0f;display:flex;font-size:.85rem;gap:8px;justify-content:space-between;padding-bottom:6px}.rubric-summary-item:last-child{border-bottom:none;padding-bottom:0}.rubric-summary-name{color:#ffffffd9}.rubric-summary-score{font-feature-settings:"tnum";color:#ffffffb3;font-variant-numeric:tabular-nums}.feedback-modal-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:2000}.feedback-modal{background:#141414;border:1px solid #ffffff26;border-radius:14px;box-shadow:0 20px 60px #00000073;display:flex;flex-direction:column;max-height:85vh;width:min(760px,95vw)}.feedback-modal-header{align-items:flex-start;border-bottom:1px solid #ffffff1a;display:flex;gap:12px;justify-content:space-between;padding:16px 18px}.feedback-modal-header h3{color:#fffffff2;font-size:1.1rem;margin:0}.feedback-modal-subtitle{color:#ffffffa6;font-size:.85rem;margin-top:4px}.feedback-modal-actions{align-items:center;display:flex;gap:10px}.feedback-modal-download{background:#ff6b4a2e;border:1px solid #ff6b4a59;border-radius:8px;color:#ffb6a3;cursor:pointer;font-weight:500;padding:6px 12px}.feedback-modal-download.secondary{background:#ffffff14;border-color:#fff3;color:#ffffffd9}.feedback-modal-download.secondary:hover:not(:disabled){background:#ffffff29}.feedback-modal-download:hover:not(:disabled){background:#ff6b4a47}.feedback-modal-download:disabled{cursor:not-allowed;opacity:.5}.feedback-modal-close{background:#ffffff14;border:1px solid #fff3;border-radius:8px;color:#ffffffd9;cursor:pointer;padding:6px 12px}.feedback-modal-close:hover{background:#ffffff29}.feedback-modal-body{overflow-y:auto;padding:16px 18px}.feedback-modal-text{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;color:#ffffffe6;line-height:1.5;padding:12px;white-space:normal}.feedback-modal-text.editing{padding:0}.feedback-modal-editor{color:inherit;min-height:220px;outline:none;padding:12px}.submissions-download-all{display:flex;justify-content:flex-end;margin:12px 0 8px}.submissions-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.submissions-download-btn{background:#ff6b4a2e;border:1px solid #ff6b4a59;border-radius:8px;color:#ffb6a3;cursor:pointer;font-weight:600;padding:8px 14px}.submissions-download-btn:hover:not(:disabled){background:#ff6b4a47}.submissions-download-btn:disabled{cursor:not-allowed;opacity:.5}.submissions-download-ready{display:flex;justify-content:flex-end;margin-top:0}.submissions-download-link{background:#ff6b4a2e;border:1px solid #ff6b4a59;border-radius:8px;color:#ffb6a3;font-weight:600;padding:6px 12px;text-decoration:none}.submissions-download-link:hover{background:#ff6b4a47}.download-ready-banner{align-items:center;background:#1c1f2df2;border:1px solid #ffffff26;border-radius:12px;color:#ffffffe6;display:flex;gap:12px;margin-bottom:12px;padding:10px 14px;position:-webkit-sticky;position:sticky;top:0;z-index:1500}.download-modal-close{background:#ffffff14;border:1px solid #fff3;border-radius:8px;color:#ffffffd9;cursor:pointer;padding:6px 12px}.download-modal-close:hover{background:#ffffff29}.feedback-export{background:var(--surface-elevated);box-sizing:border-box;left:-10000px;opacity:1;overflow:visible;padding:24px;pointer-events:none;position:fixed;top:0;visibility:visible;width:760px;z-index:-1}.feedback-export,.feedback-export *{color:var(--text)}.feedback-export h2{margin:0 0 12px}.feedback-export p{font-size:.95rem;margin:0 0 16px}.feedback-export ol,.feedback-export ul{margin:.6em 0 .6em 1.2em}.feedback-modal-text h1,.feedback-modal-text h2,.feedback-modal-text h3,.feedback-modal-text h4{font-weight:600;margin:.6em 0 .4em}.feedback-modal-text p{margin:.6em 0}.feedback-modal-text ol,.feedback-modal-text ul{margin:.6em 0 .6em 1.2em}.feedback-modal-text code{background:#ffffff14;border-radius:4px;font-family:Fira Code,Consolas,monospace;font-size:.85em;padding:2px 6px}.feedback-modal-text pre{background:#ffffff0f;border-radius:8px;margin:.6em 0;overflow-x:auto;padding:10px}.feedback-modal-text blockquote{border-left:3px solid #ffffff40;color:#ffffffbf;margin:.6em 0;padding-left:12px}.feedback-modal-rubric{margin-top:16px}.feedback-modal-rubric h4{color:#ffffffd9;font-size:.95rem;margin:0 0 8px}.feedback-modal-rubric-list{display:flex;flex-direction:column;gap:8px}.feedback-modal-rubric-item{border-bottom:1px solid #ffffff0f;display:flex;font-size:.85rem;gap:8px;justify-content:space-between;padding-bottom:6px}.feedback-modal-rubric-item:last-child{border-bottom:none;padding-bottom:0}.analytics-content:hover:after,.analytics-content:hover:before,.chat-messages:hover:after,.chat-messages:hover:before{opacity:1}.analytics-content,.chat-messages{-webkit-overflow-scrolling:touch;scroll-snap-type:y proximity}.analytics-content>*,.chat-messages>*{scroll-snap-align:start}.chat-section{background:var(--surface);border:none;border-radius:0;box-shadow:none;display:flex;flex:1 1 auto;flex-direction:column;margin-left:0;margin-right:0;min-width:240px;overflow:hidden}.chat-header{background:var(--surface-muted);border-bottom:1px solid var(--border);padding:20px}.chat-header h2{color:var(--text);font-size:1.2rem;margin-bottom:8px}.chat-header p{color:var(--text-muted);font-size:.9rem;margin:0}.chat-messages{background:var(--surface-muted);display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:20px;scroll-behavior:smooth;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}.chat-messages::-webkit-scrollbar{height:10px;width:10px}.chat-messages::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:8px}.chat-messages::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:8px}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.chat-messages::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active)}.chat-welcome{background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;padding:16px}.chat-welcome p{color:var(--text);margin:0 0 12px}.chat-welcome ul{color:var(--text-muted);margin:0;padding-left:20px}.chat-welcome li{margin-bottom:4px}.chat-message{display:flex;gap:12px}.chat-message.user{flex-direction:row-reverse}.chat-message .message-content{border-radius:12px;font-size:.9rem;line-height:1.4;max-width:85%;padding:12px 16px}.chat-message.user .message-content{background:var(--surface-elevated);border-bottom-right-radius:4px;color:var(--text)}.chat-message.assistant .message-content{background:var(--surface-elevated);border:1px solid var(--border);border-bottom-left-radius:4px;color:var(--text)}.chat-input-form{background:var(--surface-muted);border-top:1px solid var(--border);display:flex;gap:12px;padding:20px}.chat-input-form input{background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;color:var(--text);flex:1 1;font-size:.9rem;outline:none;padding:12px 16px}.chat-input-form input::placeholder{color:var(--text-soft)}.chat-input-form input:focus{background:var(--surface);border-color:var(--accent)}.chat-input-form button{background:var(--accent);border:none;border-radius:8px;color:var(--text);cursor:pointer;font-size:.9rem;font-weight:500;min-width:60px;padding:12px 20px;transition:all .2s ease}.chat-input-form button:hover:not(:disabled){background:var(--accent-strong)}.chat-input-form button:disabled{cursor:not-allowed;opacity:.6}.dashboard-content h2{color:#fffffff2;font-size:1.75rem;margin-bottom:24px;margin-top:24px}.stats-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:32px}.stat-card{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;padding:20px;transition:all .2s ease}.stat-card:hover{background:#ffffff0d;border-color:#ff6b4a4d;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.stat-card h3{color:#ff6b4a;font-size:1.25rem;font-weight:600;margin-bottom:16px}.inline-edit{align-items:center;display:flex;gap:10px;margin-bottom:8px}.inline-input{background:#ffffff14;border:1px solid #fff3;border-radius:8px;color:#fff;flex:1 1;font-size:1rem;padding:6px 10px}.inline-actions{display:flex;gap:6px}.inline-btn{background:#ff6b4a33;border:1px solid #ff6b4a80;border-radius:8px;color:#ff6b4a;cursor:pointer;padding:4px 10px}.inline-btn.secondary{background:#0000;border-color:#fff6;color:#fff}.inline-btn.edit{background:#0000;border-color:#ffffff4d;color:#fffc}.inline-btn.danger{background:#f4433626;border-color:#f4433680;color:#ffb3ac}.analytics-crud-bar{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 16px;padding:12px}.analytics-crud-bar input,.analytics-crud-bar select{background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;color:#ffffffe6;font-size:.9rem;padding:6px 10px}.analytics-crud-bar select option{background:#0f1117;color:#ffffffe6}.analytics-crud-bar input::placeholder{color:#ffffff80}.crud-btn{background:#ff6b4a33;border:1px solid #ff6b4a80;border-radius:8px;color:#ffb6a3;cursor:pointer;font-weight:600;padding:6px 12px}.crud-btn:disabled{cursor:not-allowed;opacity:.6}.crud-error{align-self:center;color:#ff6b4a;font-size:.85rem}.submission-input{background:#ffffff14;border:1px solid #fff3;border-radius:6px;color:#ffffffe6;font-size:.85rem;min-width:80px;padding:4px 8px}.submission-input-feedback{min-width:140px}.submission-action-btn{background:#ffffff14;border:1px solid #fff3;border-radius:6px;color:#ffffffd9;cursor:pointer;font-size:.85rem;padding:4px 8px}.submission-action-btn.secondary{background:#0000;border-color:#ffffff4d}.submission-action-btn.danger{background:#f4433626;border-color:#f4433680;color:#ffb3ac}.submission-error{color:#ff6b4a;font-size:.8rem}.inline-error{color:#ff6b4a;font-size:.85rem;margin-bottom:8px}.stat-details{display:flex;flex-direction:column;gap:12px}.stat-item{align-items:center;border-bottom:1px solid #ffffff0d;display:flex;justify-content:space-between;padding:8px 0}.stat-item:last-child{border-bottom:none}.stat-label{color:#fff9;font-size:.9rem}.stat-value{color:#ffffffe6;font-size:1rem;font-weight:600}.rubric-section{border-top:1px solid #ffffff1a;margin-top:20px;padding-top:20px}.standards-analytics{border-top:1px solid #ffffff14;margin-top:20px;padding-top:12px}.standards-analytics h4{color:#ffffffd9;font-size:.95rem;margin:10px 0}.standards-analytics h3{color:#ffffffe6;font-size:1.05rem;margin:10px 0 6px}.standards-summary-cards{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:8px}.standards-summary-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;padding:10px}.summary-label{color:#fff9;display:block;font-size:.8rem}.summary-value{color:#fffffff2;display:block;font-size:1.05rem;font-weight:600;margin-top:4px}.standards-lists{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:24px}.standards-list h5{color:#ffffffbf;font-size:.85rem;margin:4px 0 8px}.standards-list-item{border-bottom:1px solid #ffffff0f;display:flex;font-size:.85rem;gap:8px;justify-content:space-between;padding:6px 0}.standards-list-item:last-child{border-bottom:none}.standards-score{font-feature-settings:"tnum";color:#ffffffb3;font-variant-numeric:tabular-nums}.standards-empty{color:#ffffff8c;font-size:.8rem;padding:6px 0}.standards-management{border-top:1px solid #ffffff1a;margin-top:20px;padding-top:20px}.standards-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.standards-upload-button{align-items:center;background:#2196f333;border:1px solid #2196f366;border-radius:6px;color:#2196f3;cursor:pointer;display:inline-flex;gap:6px;padding:6px 10px}.standards-upload-button input[type=file]{display:none}.standards-button{background:#ff6b4a33;border:1px solid #ff6b4a66;border-radius:6px;color:#ff6b4a;cursor:pointer;padding:6px 10px}.standards-button:hover,.standards-upload-button:hover{background:#ff6b4a4d}.standards-status{color:#ffffffb3;font-size:.85rem}.standards-error{color:#ff6b4a;font-size:.85rem}.standards-summary{margin-top:8px}.standards-source{color:#fff9;font-size:.8rem;margin-bottom:8px}.standards-list{display:flex;flex-direction:column;gap:6px}.standards-item{align-items:center;display:flex;font-size:.85rem;gap:8px}.standards-code{color:#4caf50;font-weight:600}.standards-name{color:#ffffffd9}.standards-more{color:#fff9;font-size:.8rem}.rubric-section h4{color:#fffc;font-size:1rem;margin-bottom:12px}.rubric-stats{display:flex;flex-direction:column;gap:8px}.rubric-item{align-items:center;display:flex;gap:12px;padding:6px 0}.rubric-label{color:#ffffffb3;flex:1 1;font-size:.875rem}.rubric-value{color:#4caf50;font-weight:600;min-width:50px}.rubric-range{color:#ffffff80;font-size:.75rem}.strengths-section,.weaknesses-section{border-radius:8px;margin-top:16px;padding:12px}.strengths-section{background:#4caf501a;border:1px solid #4caf504d}.weaknesses-section{background:#ff98001a;border:1px solid #ff98004d}.strengths-section h4,.weaknesses-section h4{color:#ffffffe6;font-size:.95rem;margin-bottom:8px}.strengths-section ul,.weaknesses-section ul{list-style:none;margin:0;padding:0}.strengths-section li,.weaknesses-section li{color:#fffc;font-size:.875rem;padding:4px 0}.chart-container{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;box-sizing:border-box;margin-bottom:32px;padding:24px}.chart-container h3{color:#ffffffe6;font-size:1.25rem;margin-bottom:20px}.empty-state,.error,.loading{color:#ffffffb3;font-size:1.1rem;padding:60px 20px;text-align:center}.error{color:#f44336}.empty-state{color:#ffffff80}@media (max-width:1200px){.dashboard-layout{flex-direction:column;padding-top:0}.resize-divider{display:none}.analytics-sidebar,.chat-section{width:100%!important}.chat-section{height:400px}}@media (max-width:768px){.dashboard{padding:16px}.stats-grid{grid-template-columns:1fr}.analytics-buttons button{font-size:.9rem;padding:12px 16px}.chat-section{height:350px}}.trend-section{background:#ff6b4a0d;border-radius:8px;margin-top:16px;padding:12px}.trend-badge{border-radius:12px;display:inline-block;font-size:.85rem;font-weight:600;margin-right:8px;padding:4px 12px}.trend-badge.improving{background:#4caf5033;color:#4caf50}.trend-badge.declining{background:#f4433633;color:#f44336}.trend-badge.stable{background:#9e9e9e33;color:#9e9e9e}.trend-change{color:#ffffffb3;font-size:.9rem}.rubric-comparison-section{margin-top:16px}.rubric-rank{background:#ff6b4a;border-radius:50%;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;height:24px;line-height:24px;margin-right:8px;text-align:center;width:24px}.distribution-section{background:#2196f30d;border-radius:8px;margin-top:16px;padding:12px}.percentile-info{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-top:8px}.percentile-item{background:#ffffff0d;border-radius:6px;display:flex;justify-content:space-between;padding:6px 10px}.percentile-label{color:#fff9;font-size:.85rem}.percentile-value{color:#2196f3;font-weight:600}.correlation-section{background:#9c27b00d;border-radius:8px;margin-top:16px;padding:12px}.correlation-list{margin-top:8px}.correlation-item{background:#ffffff0d;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 10px}.correlation-standard{color:#fffc;font-size:.85rem}.correlation-value{font-size:.85rem;font-weight:600}.correlation-value.strong{color:#4caf50}.correlation-value.moderate{color:#ff9800}.correlation-value.weak{color:#9e9e9e}.correlation-value.none{color:#fff6}.progress-section{background:#4caf500d;border-radius:8px;margin-top:16px;padding:12px}.progress-badge{border-radius:12px;display:inline-block;font-size:.85rem;font-weight:600;margin-bottom:8px;padding:4px 12px}.progress-badge.improving{background:#4caf5033;color:#4caf50}.progress-badge.declining{background:#f4433633;color:#f44336}.progress-badge.stable{background:#9e9e9e33;color:#9e9e9e}.progress-details{color:#ffffffb3;display:flex;font-size:.85rem;gap:16px;margin-top:8px}.rubric-progress-section{margin-top:16px}.rubric-progress-list{margin-top:8px}.rubric-progress-item{background:#ffffff0d;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 10px}.progress-trend{font-size:.85rem;font-weight:600}.progress-trend.improving{color:#4caf50}.progress-trend.declining{color:#f44336}.progress-trend.stable{color:#9e9e9e}.class-comparison-section{background:#ff98000d;border-radius:8px;margin-top:16px;padding:12px}.comparison-list{margin-top:8px}.comparison-item{background:#ffffff0d;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 10px}.comparison-label{color:#fffc;font-size:.85rem}.comparison-value{font-size:.85rem;font-weight:600}.comparison-value.above{color:#4caf50}.comparison-value.below{color:#f44336}.predictions-section{background:#9c27b00d;border-radius:8px;margin-top:16px;padding:12px}.prediction-info{display:flex;flex-direction:column;gap:8px;margin-top:8px}.prediction-grade{color:#9c27b0;font-size:1.5rem;font-weight:700}.prediction-confidence{border-radius:12px;display:inline-block;font-size:.85rem;padding:4px 8px;width:-webkit-fit-content;width:fit-content}.prediction-confidence.high{background:#4caf5033;color:#4caf50}.prediction-confidence.medium{background:#ff980033;color:#ff9800}.prediction-confidence.low{background:#9e9e9e33;color:#9e9e9e}.rubric-analysis-section{margin-top:16px}.difficulty-ranking{margin-top:24px}.difficulty-list{margin-top:8px}.difficulty-item{align-items:center;background:#ffffff0d;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:6px;padding:8px 12px}.difficulty-item.high{border-left:3px solid #f44336}.difficulty-item.medium{border-left:3px solid #ff9800}.difficulty-item.low{border-left:3px solid #4caf50}.difficulty-standard{color:#ffffffe6;font-size:.9rem}.difficulty-avg{color:#fffc;font-weight:600}.difficulty-badge{border-radius:10px;font-size:.75rem;padding:2px 8px;text-transform:uppercase}.difficulty-item.high .difficulty-badge{background:#f4433633;color:#f44336}.difficulty-item.medium .difficulty-badge{background:#ff980033;color:#ff9800}.difficulty-item.low .difficulty-badge{background:#4caf5033;color:#4caf50}.improvement-opportunities{margin-top:16px}.opportunities-list{margin-top:8px}.opportunity-item{background:#ff6b4a1a;border-left:3px solid #ff6b4a;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:6px;padding:8px 12px}.opportunity-standard{color:#ffffffe6;font-size:.9rem}.opportunity-gap{color:#ff6b4a;font-weight:600}.distribution-ranges{margin-top:8px}.distribution-item{background:#ffffff0d;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 10px}.distribution-range{color:#fffc;font-size:.85rem}.distribution-count{color:#2196f3;font-size:.85rem;font-weight:600}.assignment-comparison-section{background:#2196f30d;border-radius:8px;margin-top:16px;padding:12px}.assignment-comp-item{background:#ffffff0d;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 10px}.comp-assignment{color:#fffc;font-size:.85rem}.comp-average{color:#2196f3;font-size:.85rem;font-weight:600}.performance-distribution{margin-top:16px}.distribution-bars{margin-top:8px}.dist-bar{border-radius:6px;display:flex;justify-content:space-between;margin-bottom:6px;padding:8px 12px}.dist-bar.excellent{background:#4caf5026;border-left:3px solid #4caf50}.dist-bar.good{background:#ff980026;border-left:3px solid #ff9800}.dist-bar.needs-improvement{background:#f4433626;border-left:3px solid #f44336}.dist-label{color:#fffc;font-size:.85rem}.dist-value{font-size:.85rem;font-weight:600}.struggling-students-section,.top-performers-section{margin-top:16px}.performers-list,.struggling-list{margin-top:8px}.performer-item,.struggling-item{background:#ffffff0d;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 10px}.performer-name,.struggling-name{color:#fffc;font-size:.85rem}.performer-avg{color:#4caf50;font-weight:600}.struggling-avg{color:#f44336;font-weight:600}.recommendations-section{margin-top:16px}.recommendations-list{margin-top:8px;padding-left:20px}.recommendations-list li{color:#fffc;font-size:.85rem;line-height:1.5;margin-bottom:6px}.correlation-matrix{margin-top:16px;overflow-x:auto}.correlation-table{background:#1c1f2db3;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.correlation-table thead{background:#ff6b4a1a}.correlation-table th{border-bottom:2px solid #ff6b4a33;color:#ffffffe6;font-size:.85rem;font-weight:600;padding:12px;text-align:left}.correlation-table td{border-bottom:1px solid #ffffff0d;font-size:.85rem;padding:10px 12px}.correlation-table .row-header{background:#ff6b4a0d;color:#ffffffe6;font-weight:600}.correlation-cell{font-weight:500;text-align:center}.correlation-cell.strong{background:#4caf5033;color:#4caf50}.correlation-cell.moderate{background:#ff980033;color:#ff9800}.correlation-cell.weak{background:#9e9e9e33;color:#9e9e9e}.correlation-cell.none{color:#fff6}.rubric-histograms{display:flex;flex-direction:column;gap:16px;margin-top:16px}.histogram-section{background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;padding:12px}.histogram-section h5{color:#fffc;font-size:.85rem;font-weight:600;margin:0 0 8px}.radar-chart-container{background:#1c1f2d80;border:1px solid #ffffff14;border-radius:12px;margin-top:24px;padding:20px}@media (max-width:1024px){.percentile-info{grid-template-columns:1fr}.correlation-table{font-size:.75rem}.correlation-table td,.correlation-table th,.histogram-section{padding:8px}.rubric-histograms{gap:12px}}.dashboard .analytics-content,.dashboard .category-management,.dashboard .chart-container,.dashboard .download-modal,.dashboard .download-modal-content,.dashboard .overview-card,.dashboard .standards-summary-card,.dashboard .stat-card,.dashboard .submissions-filters{background:var(--surface);border-color:var(--border);color:var(--text)}.dashboard .analytics-content{background:var(--surface-muted)}.dashboard .download-modal-actions button,.dashboard .download-modal-close,.dashboard .dropdown-menu,.dashboard .dropdown-menu button,.dashboard .dropdown-toggle{background:var(--surface-elevated);border-color:var(--border);color:var(--text)}.analytics-content,.analytics-sidebar,.chat-section,.dashboard,.dashboard-layout{border:0;border-radius:0;box-shadow:none;margin:0;padding:0}.analytics-content,.chat-section{background:var(--surface-muted)}.analytics-content{box-sizing:border-box;padding-left:24px!important}.analytics-content .dashboard-content{padding-top:24px}.analytics-content .dashboard-content h2{margin-top:0}.dashboard .analytics-content,.dashboard .category-management,.dashboard .chart-container,.dashboard .chat-input-form button,.dashboard .chat-input-form input,.dashboard .chat-message .message-content,.dashboard .chat-section,.dashboard .dropdown-menu,.dashboard .dropdown-menu button,.dashboard .dropdown-toggle,.dashboard .overview-card,.dashboard .standards-summary-card,.dashboard .stat-card,.dashboard .submissions-download-btn,.dashboard .submissions-download-link,.dashboard .submissions-download-ready{border-radius:var(--radius)}.dashboard .dropdown-menu,.dashboard .dropdown-menu button,.dashboard .dropdown-menu button:first-child,.dashboard .dropdown-menu button:last-child,.dashboard .dropdown-toggle{border-radius:0!important}.dashboard .searchable-input,.dashboard .searchable-option,.dashboard .searchable-options,.dashboard .searchable-select{border-radius:8px}.canvas-page{background:var(--surface);min-height:calc(100vh - 64px);overflow-y:auto;padding:32px 24px}.canvas-container{margin:0 auto;max-width:800px}.canvas-header{margin-bottom:32px;text-align:center}.canvas-header h1{color:var(--text);font-size:2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:12px}.canvas-subtitle{color:var(--text-muted);font-size:1rem;line-height:1.6;margin:0 auto;max-width:600px}.canvas-error{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:12px;color:#fca5a5;display:flex;font-size:.9rem;gap:10px;margin-bottom:24px;padding:14px 18px}.canvas-connect-section{background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;box-shadow:none;display:flex;flex-direction:column;gap:24px;padding:32px}.canvas-input-group{display:flex;flex-direction:column;gap:8px}.canvas-input-group label{color:var(--text);font-size:.9rem;font-weight:600;letter-spacing:-.01em}.canvas-input{background:var(--surface-elevated);border:1px solid var(--border);border-radius:10px;color:var(--text);font-family:inherit;font-size:.95rem;outline:none;padding:12px 16px;transition:all .2s ease}.canvas-input::placeholder{color:var(--text-soft)}.canvas-input:focus{background:var(--surface-elevated);border-color:var(--accent);box-shadow:0 0 0 3px #4b556326}.canvas-input:disabled{cursor:not-allowed;opacity:.5}.canvas-hint{color:#ffffff8c;font-size:.8rem;line-height:1.5;margin:0}.canvas-connect-btn{align-items:center;background:var(--accent);border:none;border-radius:10px;box-shadow:none;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:14px 24px;transition:background .2s}.canvas-connect-btn:hover:not(:disabled){background:var(--accent-strong)}.canvas-connect-btn:active:not(:disabled){transform:translateY(0)}.canvas-connect-btn:disabled{background:#ffffff14;box-shadow:none;color:#fff6;cursor:not-allowed;opacity:.5}.canvas-back-section{margin-bottom:24px}.canvas-back-btn{align-items:center;background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;color:#ffffffb3;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.canvas-back-btn:hover{background:#ffffff14;border-color:#ffffff1f;color:#ffffffe6}.canvas-assignments-section,.canvas-courses-section,.canvas-submissions-section{background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;box-shadow:none;padding:32px}.canvas-assignments-section h2,.canvas-courses-section h2{color:var(--text);font-size:1.5rem;font-weight:600;letter-spacing:-.01em;margin-bottom:24px}.canvas-course-name{color:var(--accent)}.canvas-list{display:flex;flex-direction:column;gap:12px}.canvas-item{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;cursor:pointer;display:flex;gap:16px;justify-content:space-between;padding:18px 20px;text-align:left;transition:all .2s ease}.canvas-item:hover{background:var(--surface-muted);border-color:var(--accent);transform:translateX(4px)}.canvas-item.selected{background:var(--accent-soft);border-color:var(--accent)}.canvas-item-content{flex:1 1;min-width:0}.canvas-item-content h3{color:#fffffff2;font-size:1rem;font-weight:600;letter-spacing:-.01em;margin-bottom:6px}.canvas-item-meta{color:#fff9;font-size:.85rem;margin-top:4px}.canvas-item-details{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.canvas-item-badge{background:var(--accent-soft);border:1px solid var(--accent);border-radius:12px;color:var(--accent-strong);font-size:.8rem;font-weight:500;padding:4px 10px}.canvas-loading{align-items:center;color:#ffffffb3;display:flex;font-size:.95rem;gap:12px;justify-content:center;padding:40px}.canvas-empty{color:#fff9;font-size:.95rem;padding:40px;text-align:center}.canvas-breadcrumb{align-items:center;border-bottom:1px solid #ffffff14;display:flex;font-size:.9rem;gap:8px;margin-bottom:24px;padding-bottom:16px}.canvas-breadcrumb-item{color:#fff9}.canvas-breadcrumb-item.active{color:#fffffff2;font-weight:600}.canvas-breadcrumb-separator{color:#fff6}.canvas-submissions-list{display:flex;flex-direction:column;gap:20px}.canvas-submission-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;padding:24px;transition:all .2s ease}.canvas-submission-card:hover{background:#ffffff0f;border-color:#ffffff1f}.canvas-submission-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.canvas-submission-student h3{color:#fffffff2;font-size:1.1rem;font-weight:600;letter-spacing:-.01em;margin:0 0 4px}.canvas-submission-student-meta{color:#fff9;font-size:.85rem;margin:0}.canvas-submission-status{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.canvas-status-badge{border-radius:12px;font-size:.8rem;font-weight:500;padding:4px 12px;white-space:nowrap}.canvas-status-badge.graded{background:#22c55e2e;border:1px solid #22c55e4d;color:#4ade80}.canvas-status-badge.submitted{background:#3b82f62e;border:1px solid #3b82f64d;color:#60a5fa}.canvas-status-badge.unsubmitted{background:#ffffff14;border:1px solid #ffffff1f;color:#fff9}.canvas-status-badge.late,.canvas-status-badge.missing{background:#ef44442e;border:1px solid #ef44444d;color:#f87171}.canvas-status-badge.excused{background:#a855f72e;border:1px solid #a855f74d;color:#a78bfa}.canvas-submission-meta{border-bottom:1px solid #ffffff14;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding-bottom:16px}.canvas-meta-item{align-items:center;color:#ffffffb3;display:flex;font-size:.85rem;gap:6px}.canvas-meta-item svg{flex-shrink:0;opacity:.7}.canvas-submission-content{margin-bottom:20px}.canvas-submission-content h4{color:#ffffffd9;font-size:.9rem;font-weight:600;letter-spacing:.05em;margin:0 0 12px;text-transform:uppercase}.canvas-content-body{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;color:#ffffffe6;font-size:.9rem;line-height:1.6;max-height:400px;overflow-y:auto;padding:16px}.canvas-content-body p{margin:0 0 12px}.canvas-content-body p:last-child{margin-bottom:0}.canvas-external-link{align-items:center;color:#60a5fa;display:inline-flex;font-size:.9rem;gap:6px;text-decoration:none;transition:color .2s ease;word-break:break-all}.canvas-external-link:hover{color:#93c5fd;text-decoration:underline}.canvas-submission-files{margin-bottom:20px}.canvas-files-list{display:flex;flex-direction:column;gap:8px}.canvas-file-item{align-items:center;background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;color:#ffffffe6;display:flex;gap:12px;padding:12px;text-decoration:none;transition:all .2s ease}.canvas-file-item:hover{background:#ffffff0f;border-color:#ffffff1f}.canvas-file-info{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.canvas-file-name{color:#fffffff2;font-size:.9rem;font-weight:500;word-break:break-all}.canvas-file-size{color:#fff9;font-size:.8rem}.canvas-submission-history{margin-bottom:0}.canvas-history-list{display:flex;flex-direction:column;gap:12px}.canvas-history-item{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;padding:12px}.canvas-history-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.canvas-history-attempt{color:#ffffffd9;font-size:.85rem;font-weight:600}.canvas-history-date{color:#fff9;font-size:.8rem}.canvas-history-content{color:#fffc;font-size:.85rem;line-height:1.5}@media (max-width:768px){.canvas-page{padding:24px 16px}.canvas-assignments-section,.canvas-connect-section,.canvas-courses-section,.canvas-submissions-section{padding:24px}.canvas-header h1{font-size:1.75rem}.canvas-submission-header{align-items:flex-start;flex-direction:column}.canvas-submission-status{width:100%}}.ferpa-wrapper{align-items:center;background:var(--bg);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:24px;position:relative}.ferpa-wrapper:after,.ferpa-wrapper:before{border-radius:50%;content:"";filter:blur(120px);opacity:.15;position:absolute;z-index:0}.ferpa-wrapper:before{animation:float 25s ease-in-out infinite;background:var(--accent);height:500px;right:-5%;top:-10%;width:500px}.ferpa-wrapper:after{animation:float 30s ease-in-out infinite reverse;background:#93c5fd;bottom:-10%;height:400px;left:-5%;width:400px}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(50px,50px) scale(1.1)}}.ferpa-card{animation:fadeInUp .4s ease-out;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);max-width:680px;padding:40px 36px;position:relative;width:100%;z-index:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ferpa-header{border-bottom:1px solid var(--border);margin-bottom:28px;padding-bottom:20px;text-align:left}.ferpa-icon{display:inline-block;font-size:2rem;margin-bottom:12px}.ferpa-header h2{color:var(--text);font-size:1.5rem;font-weight:600;letter-spacing:-.3px;line-height:1.3;margin:0}.ferpa-content{display:flex;flex-direction:column;gap:24px}.ferpa-intro{color:var(--text);font-size:1.05rem;font-weight:500;line-height:1.6;margin:0}.ferpa-text{background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:16px;padding:24px}.ferpa-text p{color:var(--text-muted);font-size:.95rem;line-height:1.7;margin:0}.ferpa-checkbox-container{margin:8px 0}.ferpa-checkbox-label{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.ferpa-checkbox-label:hover{background:var(--surface-muted)}.ferpa-checkbox{accent-color:var(--accent);cursor:pointer;flex-shrink:0;height:20px;width:20px}.ferpa-checkbox-text{color:var(--text);font-size:1rem;font-weight:500}.ferpa-agree-btn{align-items:center;background:var(--accent);border:none;border-radius:10px;box-shadow:var(--shadow-soft);color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:14px 24px;transition:all .2s ease;width:100%}.ferpa-agree-btn:hover:not(:disabled){background:var(--accent-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.ferpa-agree-btn:active:not(:disabled){transform:translateY(0)}.ferpa-agree-btn:disabled{background:var(--surface-muted);box-shadow:none;color:var(--text-soft);cursor:not-allowed;opacity:.6}@media (max-width:768px){.ferpa-card{max-width:100%;padding:32px 24px}.ferpa-header h2{font-size:1.5rem}.ferpa-icon{font-size:2.5rem}.ferpa-text{padding:20px}.ferpa-text p{font-size:.9rem}.ferpa-intro{font-size:1rem}}@media (max-width:480px){.ferpa-wrapper{padding:16px}.ferpa-card{padding:24px 20px}.ferpa-header h2{font-size:1.375rem}.ferpa-agree-btn{font-size:.95rem;padding:12px 20px}}
/*# sourceMappingURL=main.81bacce3.css.map*/