.setup-panel{display:block;padding:20px 24px;background-color:#f9f9f9;color:#1f2933;overflow-y:auto}.chat-widget.mode-chat .setup-panel{display:none}.setup-panel h3{margin:0 0 12px;font-size:18px}.setup-panel p{margin:0 0 16px;line-height:1.5}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:14px;margin-bottom:6px;font-weight:600}.form-group select{width:100%;padding:10px;font-size:14px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;cursor:pointer}.setup-actions{margin-top:18px;display:flex;justify-content:flex-end}.setup-actions button{padding:10px 22px;border-radius:6px;border:none;background-color:#4a90e2;color:#fff;cursor:pointer;transition:background-color .2s;font-size:14px}.setup-actions button:hover:not(:disabled){background-color:#357ab8}.setup-actions button:disabled{background-color:#9cb3d0;cursor:not-allowed}.setup-error{color:#b91c1c;font-size:13px;margin-top:8px}.chat-box{flex:1;overflow-y:auto;padding:24px;background:#fafbfc}.chat-message{margin-bottom:20px;padding:16px;border-radius:8px;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.user-message{background:#e3f2fd;border-left:4px solid #2196f3}.assistant-message{background:#fff;border-left:4px solid #1f4f7a;box-shadow:0 1px 3px #0000000d}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.05)}.message-header strong{color:#1f4f7a;font-size:14px}.timestamp{font-size:12px;color:#999}.message-content{line-height:1.6;color:#2c3e50}.message-content ul,.message-content ol{margin:8px 0;padding-left:20px}.message-content li{margin:4px 0}.message-content p{margin:8px 0}.message-content a{color:#4a90e2;text-decoration:underline}.message-content a:hover{color:#357ab8}.context-metadata{margin-top:16px;padding:12px;background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px}.metadata-header{margin-bottom:8px;color:#856404;font-size:14px}.metadata-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-bottom:8px;font-size:13px;color:#856404}.metadata-content div{padding:4px 0}.metadata-content strong{font-weight:600;margin-right:4px}.metadata-reminder{margin-top:8px;padding-top:8px;border-top:1px solid rgba(133,100,4,.2);font-size:12px;color:#856404;font-style:italic}.source-info{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.05);font-size:13px;color:#666}.source-info code{background:#f5f5f5;padding:2px 6px;border-radius:3px;font-size:12px;color:#d63384}.question-id{margin-top:8px;color:#999;font-size:11px}.rating-badge{margin-top:12px;padding:8px 12px;background:#f0f7ff;border-radius:6px;font-size:13px;color:#1f4f7a}.rating-badge .notes{margin-top:6px;padding-top:6px;border-top:1px solid rgba(31,79,122,.1);font-style:italic;color:#666}.quality-rating-panel{background:#fffbf0;border-top:2px solid #ffd700;padding:20px;margin-top:16px}.rating-header{margin-bottom:16px}.rating-header strong{display:block;color:#1f4f7a;font-size:15px;margin-bottom:4px}.rating-header small{color:#666;font-size:13px}.rating-actions{display:flex;gap:12px;margin-bottom:12px}.rating-button{flex:1;padding:12px 16px;border:2px solid transparent;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.rating-button.relevant{background:#d4edda;color:#155724;border-color:#c3e6cb}.rating-button.relevant:hover{background:#c3e6cb}.rating-button.not-relevant{background:#f8d7da;color:#721c24;border-color:#f5c6cb}.rating-button.not-relevant:hover{background:#f5c6cb}.rating-button.add-notes{background:#e7f3ff;color:#004085;border-color:#b8daff}.rating-button.add-notes:hover{background:#b8daff}.notes-section{margin-top:12px}.notes-section textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;resize:vertical}.notes-section textarea:focus{outline:none;border-color:#1f4f7a;box-shadow:0 0 0 3px #1f4f7a1a}.feedback-prompt{margin-top:16px;padding-top:12px;border-top:1px solid rgba(0,0,0,.05)}.feedback-button{padding:10px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;display:inline-flex;align-items:center;gap:8px}.feedback-button:hover{background:#2563eb}.feedback-button:active{background:#1d4ed8}.input-container{display:flex;padding:10px;border-top:1px solid #ccc;background-color:#f9f9f9;position:relative;flex:0 0 auto}.input-container input{flex-grow:1;padding:10px;border:1px solid #ccc;border-radius:5px;margin-right:10px;outline:none;font-size:14px}.input-container input:disabled{background-color:#e9ecef;cursor:not-allowed}.input-container button{padding:10px 20px;border:none;background-color:#4a90e2;color:#fff;border-radius:5px;cursor:pointer;transition:background-color .3s;font-size:14px}.input-container button:hover:not(:disabled){background-color:#357ab8}.input-container button:disabled{background-color:#9cb3d0;cursor:not-allowed}.loading-indicator{position:absolute;right:110px;top:55%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;gap:5px}.dot{width:8px;height:8px;background-color:#888;border-radius:50%;animation:bounce .6s infinite alternate}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes bounce{to{transform:translateY(-10px)}}.feedback-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.feedback-modal-content{background:#fff;border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.feedback-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.feedback-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#1f2937}.feedback-modal-close{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.feedback-modal-close:hover{background-color:#f3f4f6}.feedback-modal-close:disabled{cursor:not-allowed;opacity:.5}.feedback-form{padding:24px}.feedback-form-group{margin-bottom:20px}.feedback-form-group label{display:block;margin-bottom:6px;font-weight:500;color:#374151;font-size:14px}.feedback-form-group input,.feedback-form-group textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.feedback-form-group input:focus,.feedback-form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.feedback-form-group input:disabled,.feedback-form-group textarea:disabled{background-color:#f3f4f6;cursor:not-allowed}.feedback-form-group textarea{resize:vertical;min-height:120px}.feedback-error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px}.feedback-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.feedback-button-primary,.feedback-button-secondary{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s;border:1px solid transparent}.feedback-button-primary{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.feedback-button-primary:hover:not(:disabled){background-color:#2563eb}.feedback-button-primary:disabled{background-color:#93c5fd;cursor:not-allowed}.feedback-button-secondary{background-color:#fff;color:#374151;border-color:#d1d5db}.feedback-button-secondary:hover:not(:disabled){background-color:#f9fafb}.feedback-button-secondary:disabled{opacity:.5;cursor:not-allowed}.feedback-success{padding:48px 24px;text-align:center}.feedback-success h2{color:#059669;font-size:24px;margin-bottom:16px}.feedback-success p{color:#374151;font-size:16px;line-height:1.6;margin:0}@media(max-width:640px){.feedback-modal-content{max-width:100%;border-radius:0}.feedback-modal-header{padding:20px 16px 12px}.feedback-form{padding:20px 16px}.feedback-form-actions{flex-direction:column-reverse}.feedback-button-primary,.feedback-button-secondary{width:100%}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f5f7fa;color:#2c3e50}.research-tool{min-height:100vh;display:flex;flex-direction:column}.tool-header{background:linear-gradient(135deg,#1f4f7a,#2c5f8d);color:#fff;padding:24px 32px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center}.header-title{display:flex;align-items:center;gap:16px}.columbia-icon{height:56px;width:auto;filter:brightness(0) invert(1)}.header-content h1{font-size:28px;font-weight:600;margin-bottom:4px}.header-subtitle{font-size:14px;opacity:.9}.settings-button{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.settings-button:hover{background:#ffffff4d}.settings-panel{background:#fff;border-bottom:1px solid #e0e0e0;padding:24px 32px;box-shadow:0 2px 4px #0000000d}.settings-content h3{margin-bottom:8px;color:#1f4f7a}.settings-content p{margin-bottom:16px;color:#666;font-size:14px}.main-content{flex:1;display:flex;flex-direction:column;max-width:1400px;width:100%;margin:0 auto;padding:0 32px}.context-bar{background:#fff;padding:16px 20px;margin-top:24px;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;align-items:center}.context-info{font-size:14px;color:#2c3e50}.context-info strong{color:#1f4f7a;margin-right:8px}.clear-button{background:#e74c3c;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.clear-button:hover{background:#c0392b}.welcome-message{background:#fff;padding:48px 32px;margin:24px 0;border-radius:8px;box-shadow:0 2px 8px #0000001a;text-align:center}.welcome-message h2{color:#1f4f7a;margin-bottom:16px;font-size:24px}.welcome-message p{color:#666;font-size:16px;margin-bottom:12px}.context-info{flex:1}.context-warning{margin-top:8px;padding:8px 12px;background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;font-size:13px;color:#856404}.chat-area{flex:1;display:flex;flex-direction:column;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:16px 0 32px;overflow:hidden;min-height:600px}.feedback-dashboard{padding:24px;max-width:1600px;margin:0 auto}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.feedback-header h2{margin:0;color:#1f4f7a;font-size:24px}.feedback-controls{display:flex;gap:12px;align-items:center}.feedback-controls label{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151}.feedback-controls input[type=number]{width:80px;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:14px}.feedback-controls button{padding:6px 16px;background-color:#3b82f6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.feedback-controls button:hover{background-color:#2563eb}.feedback-statistics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 3px #0000001a;text-align:center}.stat-value{font-size:32px;font-weight:700;color:#1f4f7a;margin-bottom:8px}.stat-label{font-size:14px;color:#6b7280;font-weight:500}.feedback-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:auto;max-height:600px}.feedback-table{width:100%;border-collapse:collapse;font-size:14px}.feedback-table thead{position:sticky;top:0;background:#f9fafb;z-index:10}.feedback-table th{padding:12px 16px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb}.feedback-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.feedback-table tbody tr:hover{background-color:#f9fafb;cursor:pointer}.feedback-table td{padding:12px 16px;color:#1f2937}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-header:hover{background-color:#f3f4f6}.header-content{display:flex;align-items:center;gap:8px}.sort-indicator{font-size:12px;color:#6b7280}.filter-header{position:relative}.filter-button{background:none;border:1px solid #d1d5db;border-radius:4px;padding:2px 6px;cursor:pointer;font-size:12px;color:#6b7280;transition:all .2s}.filter-button:hover{background-color:#f3f4f6;border-color:#9ca3af}.filter-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 6px #0000001a;min-width:120px;z-index:100}.filter-option{padding:8px 12px;cursor:pointer;transition:background-color .2s;font-size:13px}.filter-option:hover{background-color:#f3f4f6}.filter-option.active{background-color:#dbeafe;color:#1e40af;font-weight:500}.feedback-text{max-width:300px}.feedback-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-comment-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actioned-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.actioned-badge.yes{background-color:#d1fae5;color:#065f46}.actioned-badge.no{background-color:#fee2e2;color:#991b1b}.no-data{text-align:center;color:#9ca3af;padding:32px!important;font-style:italic}.feedback-footer{margin-top:16px;text-align:center;font-size:14px;color:#6b7280}.feedback-loading,.feedback-error{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:16px;color:#6b7280}.feedback-error{color:#dc2626}@media(max-width:1200px){.feedback-table{font-size:13px}.feedback-table th,.feedback-table td{padding:10px 12px}}@media(max-width:768px){.feedback-header{flex-direction:column;align-items:flex-start;gap:16px}.feedback-controls{width:100%;flex-wrap:wrap}.feedback-statistics{grid-template-columns:1fr}.feedback-table-container{overflow-x:auto}.feedback-table{min-width:1000px}}.feedback-detail-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.feedback-detail-content{background:#fff;border-radius:8px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.feedback-detail-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;position:sticky;top:0;background:#fff;z-index:10}.feedback-detail-header h2{margin:0;font-size:24px;font-weight:600;color:#1f2937}.feedback-detail-close{background:none;border:none;font-size:32px;color:#6b7280;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.feedback-detail-close:hover:not(:disabled){background-color:#f3f4f6}.feedback-detail-close:disabled{cursor:not-allowed;opacity:.5}.feedback-detail-tabs{display:flex;gap:8px;padding:16px 24px 0;background:#fff;border-bottom:2px solid #e5e7eb;position:sticky;top:72px;z-index:9}.feedback-tab{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s;margin-bottom:-2px}.feedback-tab:hover:not(:disabled){color:#1f2937;background-color:#f9fafb}.feedback-tab.active{color:#059669;border-bottom-color:#059669}.feedback-tab:disabled{cursor:not-allowed;opacity:.5}.feedback-detail-body{padding:24px}.feedback-detail-section{margin-bottom:24px}.feedback-detail-section h3{margin:0 0 8px;font-size:14px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.05em}.feedback-detail-section p{margin:0;color:#1f2937;font-size:15px;line-height:1.6}.feedback-id{font-family:Courier New,monospace;font-size:13px;color:#6b7280;background:#f3f4f6;padding:8px 12px;border-radius:4px;display:inline-block}.feedback-detail-text{background:#f9fafb;padding:16px;border-radius:6px;border:1px solid #e5e7eb;color:#1f2937;font-size:15px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.status-badge{display:inline-block;padding:6px 16px;border-radius:16px;font-size:13px;font-weight:600}.status-badge.actioned{background-color:#d1fae5;color:#065f46}.status-badge.pending{background-color:#fef3c7;color:#92400e}.admin-comment-input{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;resize:vertical;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.admin-comment-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.admin-comment-input:disabled{background-color:#f3f4f6;cursor:not-allowed}.required{color:#dc2626}.feedback-detail-error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px}.feedback-detail-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.feedback-detail-button-primary,.feedback-detail-button-secondary{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.feedback-detail-button-primary{background-color:#059669;color:#fff;border-color:#059669}.feedback-detail-button-primary:hover:not(:disabled){background-color:#047857}.feedback-detail-button-primary:disabled{background-color:#6ee7b7;cursor:not-allowed}.feedback-detail-button-secondary{background-color:#fff;color:#374151;border-color:#d1d5db}.feedback-detail-button-secondary:hover:not(:disabled){background-color:#f9fafb}.feedback-detail-button-secondary:disabled{opacity:.5;cursor:not-allowed}.reply-list{display:flex;flex-direction:column;gap:16px;margin-top:12px}.reply-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.reply-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.reply-agent{font-weight:600;color:#059669;font-size:14px}.reply-timestamp{font-size:13px;color:#6b7280}.reply-content{color:#1f2937;font-size:15px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.no-replies{color:#6b7280;font-style:italic;text-align:center;padding:24px;background:#f9fafb;border-radius:6px;border:1px dashed #d1d5db;margin-top:12px}.email-template-hint{font-size:14px;color:#6b7280;margin-bottom:12px;font-style:italic}.email-preview-container{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;padding:20px}.email-preview{background:#fff;padding:24px;border-radius:6px;border:1px solid #d1d5db}.email-preview-line{font-size:15px;line-height:1.6;color:#6b7280;font-family:inherit}.email-preview-spacer{height:8px}.email-reply-input{margin:0!important;border:2px dashed #3b82f6!important;background:#eff6ff!important}.email-reply-input:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb1a!important}.email-reply-input:disabled{background-color:#f3f4f6!important;border-color:#d1d5db!important;cursor:not-allowed}.actioned-notice{background:#fef3c7;border:1px solid #fcd34d;color:#92400e;padding:12px 16px;border-radius:6px;font-size:14px;margin:16px 0 0}@media(max-width:640px){.feedback-detail-content{max-width:100%;border-radius:0}.feedback-detail-header{padding:20px 16px 12px}.feedback-detail-header h2{font-size:20px}.feedback-detail-body{padding:20px 16px}.feedback-detail-actions{flex-direction:column-reverse}.feedback-detail-button-primary,.feedback-detail-button-secondary{width:100%}}.advisor-admin{display:flex;height:100vh;background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.admin-sidebar{width:280px;background:linear-gradient(180deg,#036,#004080);color:#fff;display:flex;flex-direction:column;box-shadow:2px 0 8px #0000001a}.admin-logo{padding:24px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:12px}.admin-logo img{width:40px;height:40px;border-radius:8px}.admin-logo h2{margin:0;font-size:20px;font-weight:600}.admin-nav{padding:16px;display:flex;flex-direction:column;gap:8px}.admin-nav a{background:transparent;border:none;color:#fff;padding:12px 16px;text-align:left;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s;font-weight:500;text-decoration:none;display:block}.admin-nav a:hover{background:#ffffff1a}.admin-nav a.active{background:#fff3;font-weight:600}.admin-content{flex:1;overflow-y:auto;padding:32px}.admin-overview h1,.admin-under-development h1{margin:0 0 24px;font-size:28px;color:#1a1a1a;font-weight:600}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #00000014;border:1px solid #e5e7eb}.stat-value{font-size:36px;font-weight:700;color:#036;margin-bottom:8px}.stat-label{font-size:14px;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.admin-controls{background:#fff;padding:20px;border-radius:12px;margin-bottom:24px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #00000014;border:1px solid #e5e7eb}.admin-controls label{display:flex;align-items:center;gap:12px;font-weight:500;color:#374151;font-size:14px}.limit-input{width:100px;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.refresh-button{padding:8px 20px;background:#036;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:background .2s}.refresh-button:hover{background:#004080}.questions-table-container{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;border:1px solid #e5e7eb}.questions-table-container h2{margin:0 0 20px;font-size:18px;color:#1a1a1a;font-weight:600}.questions-table{width:100%;border-collapse:collapse;font-size:14px}.questions-table thead{background:#f9fafb}.questions-table th{padding:12px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.questions-table td{padding:12px;border-bottom:1px solid #f3f4f6;color:#1f2937;vertical-align:top}.questions-table tbody tr:hover{background:#f9fafb}.cell-date{white-space:nowrap;font-size:13px;color:#6b7280;width:120px}.cell-question{max-width:250px;font-weight:500}.cell-matched{max-width:200px;font-size:13px;color:#6b7280}.cell-answer{max-width:300px;font-size:13px;color:#4b5563}.cell-program{width:100px;font-family:monospace;font-size:12px;color:#6366f1}.cell-source,.cell-rating{width:80px;text-align:center}.cell-notes{max-width:200px;font-size:13px;color:#6b7280}.source-badge{display:inline-block;padding:4px 8px;background:#dbeafe;color:#1e40af;border-radius:4px;font-size:11px;font-weight:600;cursor:help}.badge-relevant{display:inline-block;padding:4px 10px;background:#d1fae5;color:#065f46;border-radius:4px;font-weight:600;font-size:12px}.badge-not-relevant{display:inline-block;padding:4px 10px;background:#fee2e2;color:#991b1b;border-radius:4px;font-weight:600;font-size:12px}.badge-unrated{display:inline-block;padding:4px 10px;background:#f3f4f6;color:#6b7280;border-radius:4px;font-size:12px}.admin-loading,.admin-error{text-align:center;padding:60px;font-size:16px;color:#6b7280}.admin-error{color:#dc2626}.admin-under-development{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:500px}.development-notice{background:#fff;padding:48px;border-radius:12px;text-align:center;box-shadow:0 2px 8px #00000014;border:1px solid #e5e7eb;max-width:500px}.development-icon{font-size:64px;margin-bottom:24px}.development-notice h2{margin:0 0 12px;font-size:24px;color:#1a1a1a}.development-notice p{margin:0;font-size:16px;color:#6b7280;line-height:1.6}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s;position:relative}.sortable-header:hover{background:#f3f4f6}.filterable-header{position:relative}.header-content{display:flex;align-items:center;gap:8px;justify-content:space-between}.filter-icon{background:transparent;border:none;cursor:pointer;padding:4px;font-size:12px;color:#6b7280;transition:color .2s;display:flex;align-items:center;justify-content:center}.filter-icon:hover{color:#036}.filter-dropdown{position:absolute;top:100%;left:0;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:150px;margin-top:4px;max-height:300px;overflow-y:auto}.filter-option{padding:10px 16px;cursor:pointer;transition:background .2s;font-size:14px;color:#1f2937}.filter-option:hover{background:#f3f4f6}.filter-option.selected{background:#dbeafe;color:#036;font-weight:600}.filter-option:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.filter-option:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.cell-answer.clickable{cursor:pointer;transition:background .2s}.cell-answer.clickable:hover{background:#f0f9ff;border-radius:4px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:24px;color:#1a1a1a;font-weight:600}.modal-close{background:transparent;border:none;font-size:32px;color:#6b7280;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#1a1a1a}.modal-body{padding:24px}.modal-section{margin-bottom:24px}.modal-section:last-child{margin-bottom:0}.modal-section h3{margin:0 0 8px;font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.modal-section p{margin:0;color:#1f2937;line-height:1.6}.modal-answer{color:#1f2937;line-height:1.6;padding:16px;background:#f9fafb;border-radius:8px;border-left:4px solid #003366}.modal-source{font-family:monospace;font-size:13px;background:#f9fafb;padding:8px 12px;border-radius:6px;word-break:break-all}.modal-program{font-family:monospace;font-size:14px;color:#6366f1;background:#f9fafb;padding:8px 12px;border-radius:6px}.modal-student-context{background:#f9fafb;padding:16px;border-radius:8px;display:flex;flex-direction:column;gap:12px}.context-item{display:flex;gap:12px;align-items:baseline}.context-label{font-weight:600;color:#6b7280;text-transform:capitalize;min-width:150px;font-size:13px}.context-value{color:#1f2937;font-size:14px}.admin-user-info{padding:20px;border-top:1px solid rgba(255,255,255,.1);background:#0000001a;margin-top:auto}.user-details{margin-bottom:12px}.user-name{font-size:14px;font-weight:600;color:#fff;margin-bottom:4px}.user-role{font-size:12px;color:#ffffffb3;text-transform:capitalize}.logout-button{width:100%;padding:8px 16px;background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.logout-button:hover{background:#ffffff40;border-color:#ffffff4d}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1f4f7a,#2c5f8d);padding:20px}.login-container{background:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;padding:48px 40px;width:100%;max-width:420px}.login-header{text-align:center;margin-bottom:32px}.login-logo{height:64px;width:auto;margin-bottom:16px}.login-header h1{font-size:28px;font-weight:600;color:#1f4f7a;margin-bottom:8px}.login-subtitle{font-size:14px;color:#666}.login-form{display:flex;flex-direction:column;gap:20px}.login-form .form-group{margin-bottom:0}.login-form .form-group label{display:block;font-size:14px;font-weight:600;color:#2c3e50;margin-bottom:8px}.login-form .form-group input{width:100%;padding:12px 14px;font-size:14px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;transition:all .2s}.login-form .form-group input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.login-form .form-group input::placeholder{color:#9ca3af}.login-error{color:#e74c3c;background:#fee;padding:12px 14px;border-radius:6px;font-size:14px;border:1px solid #fcc}.login-button{width:100%;padding:12px 24px;border-radius:6px;border:none;background:linear-gradient(135deg,#1f4f7a,#2c5f8d);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #1f4f7a4d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{background:#9cb3d0;cursor:not-allowed;transform:none}.login-footer{margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb;text-align:center}.login-footer p{font-size:13px;color:#666;line-height:1.5}.landing-page{position:fixed;top:0;left:0;width:100vw;height:100vh;overflow:hidden;background:#0a0a0a;display:flex;align-items:center;justify-content:center}.landing-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.landing-content{position:relative;z-index:2;text-align:center;opacity:0;transform:translateY(20px);transition:opacity 1.5s ease-out,transform 1.5s ease-out}.landing-content.visible{opacity:1;transform:translateY(0)}.landing-title{font-size:4rem;font-weight:300;letter-spacing:.3em;color:#fff;margin:0;text-transform:uppercase;text-shadow:0 0 10px rgba(100,150,255,.5),0 0 20px rgba(100,150,255,.3),0 0 30px rgba(100,150,255,.2);animation:pulse 3s ease-in-out infinite;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.landing-subtitle{margin-top:2rem;font-size:1.2rem;color:#fff9;letter-spacing:.1em;font-weight:300}.glitch{position:relative;display:inline-block;animation:glitch 2s infinite}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch:before{left:2px;text-shadow:-2px 0 #ff00c1;clip:rect(44px,450px,56px,0);animation:glitch-anim 5s infinite linear alternate-reverse}.glitch:after{left:-2px;text-shadow:-2px 0 #00fff9,2px 2px #ff00c1;clip:rect(44px,450px,56px,0);animation:glitch-anim2 1s infinite linear alternate-reverse}@keyframes pulse{0%,to{opacity:1;text-shadow:0 0 10px rgba(100,150,255,.5),0 0 20px rgba(100,150,255,.3),0 0 30px rgba(100,150,255,.2)}50%{opacity:.8;text-shadow:0 0 15px rgba(100,150,255,.7),0 0 25px rgba(100,150,255,.5),0 0 35px rgba(100,150,255,.3)}}@keyframes glitch{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}@keyframes glitch-anim{0%{clip:rect(31px,9999px,94px,0);transform:skew(.5deg)}5%{clip:rect(54px,9999px,66px,0);transform:skew(.5deg)}10%{clip:rect(12px,9999px,18px,0);transform:skew(.5deg)}15%{clip:rect(85px,9999px,2px,0);transform:skew(.5deg)}20%{clip:rect(23px,9999px,78px,0);transform:skew(.5deg)}25%{clip:rect(42px,9999px,51px,0);transform:skew(.5deg)}30%{clip:rect(67px,9999px,89px,0);transform:skew(.5deg)}35%{clip:rect(8px,9999px,35px,0);transform:skew(.5deg)}40%{clip:rect(91px,9999px,14px,0);transform:skew(.5deg)}45%{clip:rect(56px,9999px,72px,0);transform:skew(.5deg)}50%{clip:rect(3px,9999px,29px,0);transform:skew(.5deg)}55%{clip:rect(74px,9999px,45px,0);transform:skew(.5deg)}60%{clip:rect(19px,9999px,61px,0);transform:skew(.5deg)}65%{clip:rect(48px,9999px,87px,0);transform:skew(.5deg)}70%{clip:rect(25px,9999px,5px,0);transform:skew(.5deg)}75%{clip:rect(63px,9999px,38px,0);transform:skew(.5deg)}80%{clip:rect(7px,9999px,52px,0);transform:skew(.5deg)}85%{clip:rect(81px,9999px,16px,0);transform:skew(.5deg)}90%{clip:rect(34px,9999px,69px,0);transform:skew(.5deg)}95%{clip:rect(59px,9999px,27px,0);transform:skew(.5deg)}to{clip:rect(13px,9999px,83px,0);transform:skew(.5deg)}}@keyframes glitch-anim2{0%{clip:rect(65px,9999px,100px,0);transform:skew(.5deg)}5%{clip:rect(14px,9999px,33px,0);transform:skew(.5deg)}10%{clip:rect(79px,9999px,92px,0);transform:skew(.5deg)}15%{clip:rect(21px,9999px,47px,0);transform:skew(.5deg)}20%{clip:rect(88px,9999px,6px,0);transform:skew(.5deg)}25%{clip:rect(52px,9999px,71px,0);transform:skew(.5deg)}30%{clip:rect(9px,9999px,28px,0);transform:skew(.5deg)}35%{clip:rect(76px,9999px,41px,0);transform:skew(.5deg)}40%{clip:rect(18px,9999px,95px,0);transform:skew(.5deg)}45%{clip:rect(43px,9999px,12px,0);transform:skew(.5deg)}50%{clip:rect(67px,9999px,58px,0);transform:skew(.5deg)}55%{clip:rect(3px,9999px,84px,0);transform:skew(.5deg)}60%{clip:rect(91px,9999px,25px,0);transform:skew(.5deg)}65%{clip:rect(37px,9999px,62px,0);transform:skew(.5deg)}70%{clip:rect(74px,9999px,8px,0);transform:skew(.5deg)}75%{clip:rect(15px,9999px,49px,0);transform:skew(.5deg)}80%{clip:rect(82px,9999px,96px,0);transform:skew(.5deg)}85%{clip:rect(29px,9999px,54px,0);transform:skew(.5deg)}90%{clip:rect(66px,9999px,11px,0);transform:skew(.5deg)}95%{clip:rect(44px,9999px,77px,0);transform:skew(.5deg)}to{clip:rect(1px,9999px,39px,0);transform:skew(.5deg)}}@media(max-width:768px){.landing-title{font-size:2.5rem;letter-spacing:.2em}.landing-subtitle{font-size:1rem;padding:0 1rem}}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.loading-spinner{border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner.small{width:20px;height:20px}.loading-spinner.medium{width:40px;height:40px}.loading-spinner.large{width:60px;height:60px}.loading-spinner-message{margin-top:12px;color:#7f8c8d;font-size:14px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;background-color:#f4f4f9;margin:0;padding:0}#root{width:100%;height:100vh}
