body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f7fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}#root,.auth-container{min-height:100vh}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;justify-content:center;padding:20px}.auth-card{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:420px;padding:40px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-header{margin-bottom:32px;text-align:center}.auth-header h2{color:#2d3748;font-size:28px;font-weight:700;margin:0 0 8px}.auth-header p{color:#718096;font-size:16px;margin:0}.auth-form{display:flex;flex-direction:column;gap:20px}.form-input{background:#fafafa;border:2px solid #e2e8f0;border-radius:10px;font-size:16px;padding:14px 16px;transition:all .2s ease}.form-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-input::placeholder{color:#a0aec0}.auth-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:16px;transition:all .2s ease}.auth-button:hover:not(:disabled){box-shadow:0 10px 20px #667eea4d;transform:translateY(-1px)}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{cursor:not-allowed;opacity:.7}.auth-button.loading{opacity:.8}.auth-footer{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:20px;text-align:center}.auth-footer p{color:#718096;font-size:14px;margin:0}.step-indicator{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:space-between;margin-top:20px;padding-top:15px}.step-indicator .step{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;color:#a0aec0;flex:1 1;font-size:12px;font-weight:500;padding:8px 12px;text-align:center;transition:all .3s ease}.step-indicator .step.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff;transform:scale(1.05)}.step-indicator .step.completed{background:#48bb78;border-color:#48bb78;color:#fff}.loading-message{padding:40px 20px;text-align:center}.loading-message .spinner{border-width:4px;height:40px;margin:0 auto 20px;width:40px}.loading-message p{color:#4a5568;font-size:14px;margin:0}.success-message{background-color:#f0fff4;margin-bottom:16px}.success-message .success-icon{color:#38a169;font-size:18px;font-weight:700}.success-message{color:#22543d;line-height:1.5}@media (max-width:768px){.step-indicator{flex-direction:column}.step-indicator .step{font-size:11px;padding:6px 10px}}.auth-link{color:#667eea;font-weight:600;text-decoration:none;transition:color .2s ease}.auth-link:hover{color:#5a67d8;text-decoration:underline}@media (max-width:480px){.auth-container{padding:16px}.auth-card{padding:24px}.auth-header h2{font-size:24px}}.success-message{align-items:center;background:#c6f6d5;border:1px solid #9ae6b4;color:#2f855a;display:flex;gap:8px}.dashboard-nav{align-items:center;background:#fff;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;padding:16px 24px}.dashboard-nav h1{color:#2d3748;font-size:24px;margin:0}.nav-user-info{gap:16px}.nav-user-info,.user-avatar{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.logout-button{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.logout-button:hover{background:#edf2f7;border-color:#cbd5e0}.dashboard-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:24px;text-align:center;transition:all .2s ease}.stat-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-2px)}.stat-number{color:#2d3748;font-size:32px;font-weight:700;margin-bottom:8px}.stat-label{color:#718096;font-size:14px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.admin-section{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:40px;padding:24px}.otp-input{font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:20px;font-weight:600;letter-spacing:6px;text-align:center}.otp-input::placeholder{font-weight:400;letter-spacing:4px}.toggle-code-type{background:none;border:none;color:#667eea;cursor:pointer;font-size:13px;font-weight:500;margin-top:4px;padding:4px 0;transition:color .2s ease}.toggle-code-type:hover:not(:disabled){color:#764ba2;text-decoration:underline}.toggle-code-type:disabled{cursor:not-allowed;opacity:.5}.auth-links{border-top:1px solid #e2e8f0;margin:20px 0;padding:15px 0;text-align:center}.forgot-password-link{color:#667eea;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s ease}.forgot-password-link:hover{color:#764ba2;text-decoration:underline}.nav-actions{gap:12px}.ai-search-button,.nav-actions{align-items:center;display:flex}.ai-search-button{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:8px;box-shadow:0 2px 8px #6366f14d;color:#fff;font-size:14px;font-weight:600;gap:6px;padding:8px 16px;text-decoration:none;transition:all .2s ease}.ai-search-button:hover{box-shadow:0 4px 12px #6366f166;transform:translateY(-2px)}.settings-button{align-items:center;background:#0000;border:1px solid #e2e8f0;border-radius:8px;color:#667eea;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 12px;text-decoration:none;transition:all .2s ease}.settings-button:hover{background-color:#f7fafc;color:#764ba2;transform:translateY(-1px)}.search-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.search-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.search-header.berkeley-header{align-items:flex-start;background:linear-gradient(135deg,#003262,#004080);border-bottom:4px solid #fdb515;border-radius:12px;flex-direction:column;margin-bottom:24px;padding:24px}.search-header.berkeley-header h2{color:#fff;font-size:28px;font-weight:700;margin:0 0 8px}.search-header.berkeley-header p{color:#fdb515;margin:4px 0}.search-header.imperial-header{align-items:flex-start;background:linear-gradient(135deg,#003e74,#002147);border-bottom:4px solid #d4effc;border-radius:12px;flex-direction:column;margin-bottom:24px;padding:24px}.search-header.imperial-header h2{color:#fff;font-size:28px;font-weight:700;margin:0 0 8px}.search-header.imperial-header p{color:#d4effc;margin:4px 0}.search-header.anu-header{align-items:flex-start;background:linear-gradient(135deg,#be830e,#9a6c0b);border-bottom:4px solid #ffd54f;border-radius:12px;flex-direction:column;margin-bottom:24px;padding:24px}.search-header.anu-header h2{color:#fff;font-size:28px;font-weight:700;margin:0 0 8px}.search-header.anu-header p{color:#ffd54f;margin:4px 0}.search-header.wits-header{align-items:flex-start;background:linear-gradient(135deg,#003b5c,#002a42);border-bottom:4px solid #ffb81c;border-radius:12px;flex-direction:column;margin-bottom:24px;padding:24px}.search-header.wits-header h2{color:#fff;font-size:28px;font-weight:700;margin:0 0 8px}.search-header.wits-header p{color:#ffb81c;margin:4px 0}.search-header.ubc-header{align-items:flex-start;background:linear-gradient(135deg,#002145,#001833);border-bottom:4px solid #97d4e9;border-radius:12px;flex-direction:column;margin-bottom:24px;padding:24px}.search-header.ubc-header h2{color:#fff;font-size:28px;font-weight:700;margin:0 0 8px}.search-header.ubc-header p{color:#97d4e9;margin:4px 0}.search-header h2{color:#2d3748;font-size:28px;font-weight:700;margin:0}.view-all-btn{background:linear-gradient(135deg,#4299e1,#3182ce);border:none;border-radius:8px;box-shadow:0 2px 4px #4299e14d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s ease}.view-all-btn:hover{box-shadow:0 4px 8px #4299e166;transform:translateY(-1px)}.search-tabs{border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:0;margin-bottom:20px}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#718096;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.tab.active{background:#0032621a;border-bottom-color:#003262;color:#003262}.tab.active.imperial-tab{background:#003e741a;border-bottom-color:#003e74;color:#003e74}.tab.active.anu-tab{background:#be830e1a;border-bottom-color:#be830e;color:#be830e}.tab.active.wits-tab{background:#003b5c1a;border-bottom-color:#003b5c;color:#003b5c}.tab.active.ubc-tab{background:#0021451a;border-bottom-color:#002145;color:#002145}.tab:hover:not(.active){background:#0000000d;color:#4a5568}.search-form{margin-bottom:24px}.search-input-container{align-items:stretch;display:flex;gap:12px;position:relative}.search-input{background:#fafafa;border:2px solid #e2e8f0;border-radius:12px;box-sizing:border-box;flex:1 1;font-size:16px;padding:16px 20px;transition:all .2s ease}.search-input:focus{background:#fff;border-color:#003262;box-shadow:0 0 0 3px #0032621a;outline:none}.search-input::placeholder{color:#a0aec0}.search-buttons{align-items:stretch;display:flex;gap:8px}.search-button{background:linear-gradient(135deg,#003262,#004080);border:none;border-radius:12px;box-shadow:0 4px 6px #0032624d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;min-width:140px;padding:16px 32px;transition:all .2s ease;white-space:nowrap}.search-button:hover:not(:disabled){background:linear-gradient(135deg,#004080,#059);box-shadow:0 6px 12px #00326266;transform:translateY(-2px)}.search-button:active:not(:disabled){box-shadow:0 2px 4px #0032624d;transform:translateY(0)}.search-button:disabled{background:linear-gradient(135deg,#a0aec0,#718096);box-shadow:none;cursor:not-allowed;transform:none}.clear-button{background:#e2e8f0;border:none;border-radius:12px;color:#4a5568;cursor:pointer;font-size:16px;font-weight:600;padding:16px 24px;transition:all .2s ease;white-space:nowrap}.clear-button:hover:not(:disabled){background:#cbd5e0;color:#2d3748;transform:translateY(-2px)}.clear-button:active:not(:disabled){transform:translateY(0)}.clear-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.search-options{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:12px;padding:12px}.exact-match-toggle{align-items:center;cursor:pointer;display:flex;gap:10px;-webkit-user-select:none;user-select:none}.exact-match-checkbox{accent-color:#667eea;cursor:pointer;height:18px;width:18px}.exact-match-label{color:#2d3748;display:flex;flex-direction:column;font-size:14px;font-weight:500;gap:2px}.exact-match-hint{color:#718096;font-size:12px;font-style:italic;font-weight:400}.year-filter{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;padding:12px 16px}.year-filter-label{color:#4a5568;font-size:14px;font-weight:600;white-space:nowrap}.year-inputs{align-items:center;display:flex;gap:8px}.year-input{background:#fff;border:1px solid #cbd5e0;border-radius:8px;font-size:14px;padding:8px 12px;text-align:center;transition:all .2s ease;width:90px}.year-input:focus{border-color:#003262;box-shadow:0 0 0 3px #0032621a;outline:none}.year-input::placeholder{color:#a0aec0}.year-separator{color:#a0aec0;font-size:16px}.year-presets{display:flex;flex-wrap:wrap;gap:6px}.year-preset-btn{background:#fff;border:1px solid #cbd5e0;border-radius:6px;color:#4a5568;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.year-preset-btn:hover{background:#003262;border-color:#003262;color:#fff;transform:translateY(-1px)}.year-clear-btn{background:#fff5f5;border-color:#fed7d7;color:#e53e3e}.year-clear-btn:hover{background:#e53e3e;border-color:#e53e3e;color:#fff}@media (max-width:768px){.year-filter{align-items:stretch;flex-direction:column}.year-inputs,.year-presets{justify-content:center}}.loading-indicator{animation:pulse 1.5s ease-in-out infinite;color:#003262;font-size:14px;font-weight:500;margin-top:8px;padding:8px;text-align:center}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.search-results{min-height:200px}.results-section{margin-bottom:32px}.results-section h3{border-bottom:1px solid #e2e8f0;color:#2d3748;font-size:20px;font-weight:600;margin-bottom:16px;padding-bottom:8px}.people-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.person-card{box-shadow:0 2px 4px #0000000d}.person-card:hover{box-shadow:0 8px 16px #0000001a}.local-person{border-left:4px solid #48bb78}.paper-person{border-left:4px solid #ed8936}.card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.person-card h4{color:#2d3748;font-size:18px;font-weight:600;line-height:1.3;margin:0}.person-card p{color:#4a5568;line-height:1.4;margin:8px 0}.person-card p strong{color:#2d3748;font-weight:600}.summary{background:#f7fafc;border-left:3px solid #4299e1;border-radius:8px;font-style:italic;margin-top:12px!important;padding:12px}.save-author-btn{background:#48bb78;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.save-author-btn:hover{background:#38a169;transform:translateY(-1px)}.doi-link{word-break:break-all}.doi-link:hover{color:#3182ce;text-decoration:underline}.no-results{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;color:#718096;font-size:16px;padding:40px;text-align:center}@media (max-width:768px){.search-container{padding:16px}.search-header{align-items:stretch;flex-direction:column;gap:16px}.search-input-container{flex-direction:column;gap:12px}.search-buttons{flex-direction:row}.search-button{flex:1 1;min-width:auto;padding:14px 24px}.clear-button{flex:0 0 auto;padding:14px 20px}.people-grid{grid-template-columns:1fr}.card-header{flex-direction:column;gap:8px}.save-author-btn{align-self:flex-start}}@media (max-width:480px){.search-tabs{flex-direction:column}.tab{border-bottom:1px solid #e2e8f0;border-right:none;text-align:left}.tab.active{border-bottom-color:#e2e8f0;border-left:3px solid #003262}}.results-header{background:linear-gradient(135deg,#0032620d,#fdb5150d);border-left:4px solid #003262;border-radius:8px;margin-bottom:16px;padding:16px}.results-stats{margin-top:8px}.results-stats p{color:#4a5568;margin:4px 0}.email-link{color:#3182ce;font-weight:500;text-decoration:none;transition:all .2s ease}.email-link:hover{color:#2c5aa0;text-decoration:underline}.profile-link{background-color:#f0fff4;border:1px solid #c6f6d5;border-radius:4px;color:#38a169;display:inline-block;font-weight:500;padding:4px 8px;text-decoration:none;transition:all .2s ease}.profile-link:hover{background-color:#c6f6d5;color:#2f855a;transform:translateY(-1px)}.summary{border-top:1px solid #e2e8f0;margin-top:12px;padding-top:12px}.summary-text{color:#718096;font-size:.9em;line-height:1.4;margin:8px 0 0}.person-details p{align-items:center;display:flex;gap:8px;margin:8px 0}.person-details strong{color:#4a5568;font-weight:600}.pagination-controls{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;margin:20px 0;padding:15px}.pagination-info{color:#4a5568;font-size:14px;font-weight:500}.pagination-controls-group{align-items:center;display:flex;gap:20px}.results-per-page{background:#fff;border:1px solid #cbd5e0;border-radius:6px;color:#4a5568;cursor:pointer;font-size:14px;padding:8px 12px}.results-per-page:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.page-navigation{align-items:center;display:flex;gap:12px}.page-btn{background:#fff;border:1px solid #cbd5e0;border-radius:6px;color:#4a5568;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.page-btn:hover:not(:disabled){background:#4299e1;border-color:#4299e1;color:#fff}.page-btn:disabled{background:#f7fafc;border-color:#e2e8f0;color:#a0aec0;cursor:not-allowed}.page-info{color:#4a5568;font-size:14px;font-weight:500;margin:0 8px}.load-all-btn{background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:6px;box-shadow:0 2px 4px #48bb784d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.load-all-btn:hover:not(:disabled){box-shadow:0 4px 8px #48bb7866;transform:translateY(-1px)}.load-all-btn:disabled{background:#a0aec0;box-shadow:none;cursor:not-allowed;transform:none}.private-profile{background:#fff5f5;border-left:4px solid #f56565;opacity:.85}.private-profile:hover{border-color:#e53e3e;opacity:1}.private-notice{background:#fed7d7;border:1px solid #fc8181;border-radius:8px;margin:12px 0;padding:12px}.private-notice p{color:#742a2a;font-size:14px;line-height:1.6;margin:0}.private-notice strong{color:#c53030}.name-issue-notice{background:#feebc8;border:1px solid #f6ad55;border-radius:8px;margin:10px 0;padding:10px}.name-issue-notice p{color:#7c2d12;font-size:13px;margin:0}.orcid-link{color:#2d3748;text-decoration:none;transition:color .2s ease}.orcid-link:hover{color:#4299e1}.private-profile .orcid-link{color:#c53030;font-weight:600;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-decoration-thickness:2px}.private-profile .orcid-link:hover{background:#c530300d;border-radius:4px;color:#9b2c2c;padding:2px 4px;-webkit-text-decoration-style:solid;text-decoration-style:solid}.save-profile-btn{background:#48bb78;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.save-profile-btn:hover{background:#38a169;transform:translateY(-1px)}.save-profile-btn:disabled{background:#a0aec0;cursor:not-allowed;transform:none}.orcid-person{border-left:4px solid #003262}.berkeley-person{border-left:4px solid #fdb515}.imperial-person{border-left:4px solid #003e74}.anu-person{border-left:4px solid #be830e}.wits-person{border-left:4px solid #003b5c}.ubc-person{border-left:4px solid #002145}.imperial-person.no-orcid{border-left:4px solid #d4effc}.openalex-card{background:linear-gradient(135deg,#fff,#f0f9ff);border-left:4px solid #3b82f6}.openalex-card:hover{box-shadow:0 8px 20px #3b82f626}.imperial-results-header{background:linear-gradient(135deg,#003e740d,#d4effc1a);border-left:4px solid #003e74}.anu-results-header{background:linear-gradient(135deg,#be830e0d,#ffd54f0d);border-left:4px solid #be830e}.wits-results-header{background:linear-gradient(135deg,#003b5c0d,#ffb81c0d);border-left:4px solid #003b5c}.ubc-results-header{background:linear-gradient(135deg,#0021450d,#97d4e90d);border-left:4px solid #002145}.no-orcid{border-left:4px solid #fdb515}.recent-works{border-top:1px solid #e2e8f0;margin-top:12px;padding-top:12px}.works-list{list-style:none;margin:8px 0 0;padding:0}.work-item{border-bottom:1px solid #f7fafc;font-size:14px;padding:8px 0}.work-item:last-child{border-bottom:none}.work-title{color:#2d3748;display:block;font-weight:500;margin-bottom:4px}.work-journal{color:#718096;font-size:13px}.work-date{color:#a0aec0;font-size:12px;font-style:italic}.doi-link{background:#ebf8ff;border-radius:4px;color:#4299e1;font-size:12px;font-weight:500;margin-left:8px;padding:2px 6px;text-decoration:none}.doi-link:hover{background:#bee3f8;color:#2c5aa0}.employments{border-top:1px solid #e2e8f0;margin-top:12px;padding-top:12px}.employment-list{list-style:none;margin:8px 0 0;padding:0}.employment-list li{color:#4a5568;font-size:14px;padding:6px 0}.search-details{background:#ebf8ff;border-left:3px solid #4299e1;border-radius:8px;margin-bottom:16px;padding:12px}.search-details strong{color:#2c5aa0}.search-details small{color:#4a5568;display:block;margin-top:4px}.search-help{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:24px;padding:24px}.search-help h3{color:#2d3748;font-size:20px;margin-bottom:16px}.search-tips{grid-gap:16px;display:grid;gap:16px}.tip{background:#f7fafc;border-left:3px solid #003262;border-radius:8px;padding:16px}.tip strong{color:#2d3748;display:block;font-size:16px;margin-bottom:8px}.tip p{color:#718096;font-size:14px;line-height:1.5;margin:0}.add-person-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:24px}.add-person-header{margin-bottom:24px;text-align:center}.add-person-header h3{color:#2d3748;font-size:24px;font-weight:700;margin:0 0 8px}.add-person-header p{color:#718096;font-size:16px;margin:0}.access-denied{background:#fed7d7;border:1px solid #feb2b2;border-radius:12px;color:#c53030;padding:40px;text-align:center}.access-icon{display:block;font-size:24px;margin-bottom:12px}.message{align-items:center;border-radius:8px;display:flex;font-weight:500;margin-bottom:20px;padding:12px 16px}.message.success{background:#c6f6d5;border:1px solid #9ae6b4;color:#2f855a}.message.error{background:#fed7d7;border:1px solid #feb2b2;color:#c53030}.add-person-form{display:flex;flex-direction:column;gap:20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group label{color:#2d3748;font-weight:600;margin-bottom:6px}.form-input,.form-textarea{background:#fafafa;border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:16px;padding:12px 16px;transition:all .2s ease}.form-input:focus,.form-textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-input::placeholder,.form-textarea::placeholder{color:#a0aec0}.form-textarea{min-height:100px;resize:vertical}.form-hint{color:#718096;font-size:12px;font-style:italic;margin-top:4px}.submit-button{align-items:center;background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:16px 24px;transition:all .2s ease}.submit-button:hover:not(:disabled){box-shadow:0 8px 16px #48bb784d;transform:translateY(-1px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.submit-button.loading{opacity:.8}.button-icon{font-size:16px}.spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@media (max-width:768px){.form-row{gap:16px;grid-template-columns:1fr}.add-person-container{padding:20px}}@media (max-width:480px){.add-person-container{padding:16px}.add-person-header h3{font-size:20px}.form-input,.form-textarea{font-size:14px;padding:10px 12px}}.people-list-container{margin-top:24px}.people-list-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.people-list-header h2{color:#2d3748;font-size:24px;font-weight:700;margin:0}.refresh-button{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;font-size:14px;gap:4px;padding:8px 16px;transition:all .2s ease}.refresh-button:hover{background:#edf2f7;border-color:#cbd5e0}.loading-spinner{align-items:center;color:#718096;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-spinner .spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:32px;margin-bottom:16px;width:32px}.empty-state{color:#718096;padding:60px 20px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{color:#4a5568;font-size:20px;margin:0 0 8px}.empty-state p{font-size:16px;margin:0 auto;max-width:400px}.people-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.person-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px;position:relative;transition:all .2s ease}.person-card:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.person-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:20px;font-weight:700;height:50px;justify-content:center;margin-bottom:16px;width:50px}.person-info{flex:1 1}.person-name{color:#2d3748;font-size:18px;font-weight:600;line-height:1.3;margin:0 0 12px}.person-affiliation,.person-doi,.person-email,.person-paper{align-items:flex-start;color:#4a5568;display:flex;font-size:14px;gap:8px;line-height:1.4;margin:8px 0}.info-icon{flex-shrink:0;font-size:14px;margin-top:1px}.doi-link,.person-email a{color:#667eea;text-decoration:none;transition:color .2s ease}.doi-link:hover,.person-email a:hover{color:#5a67d8;text-decoration:underline}.person-department{color:#4a5568;font-weight:500}.person-skills{margin-top:8px}.skills-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.skill-tag{background:#e6fffa;border:1px solid #b2f5ea;border-radius:12px;color:#234e52;font-size:12px;font-weight:500;padding:4px 8px}.skill-tag.more{background:#f7fafc;border:1px solid #e2e8f0;color:#718096}.person-paper{font-style:italic}.person-source{margin-top:12px}.source-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.source-badge.manual{background:#c6f6d5;color:#2f855a}.source-badge.paper{background:#bee3f8;color:#2c5282}.person-actions{position:absolute;right:16px;top:16px}.delete-button{background:#fed7d7;border:1px solid #feb2b2;border-radius:6px;color:#c53030;cursor:pointer;font-size:14px;opacity:0;padding:6px 8px;transition:all .2s ease}.person-card:hover .delete-button{opacity:1}.delete-button:hover{background:#feb2b2;border-color:#fc8181}.error-message{align-items:center;background:#fed7d7;border:1px solid #feb2b2;color:#c53030;display:flex;gap:8px;margin-bottom:20px}.error-icon{font-size:16px}@media (max-width:768px){.people-grid{grid-template-columns:1fr}.people-list-header{align-items:stretch;flex-direction:column;gap:12px}.people-list-header h2{text-align:center}}.person-title{color:#4a5568;font-size:.9em;font-weight:400;margin-right:4px}.person-profile .profile-link{background-color:#f0fff4;border:1px solid #c6f6d5;border-radius:4px;color:#38a169;font-size:.9em;font-weight:500;padding:2px 6px;text-decoration:none;transition:all .2s ease}.person-profile .profile-link:hover{background-color:#c6f6d5;color:#2f855a;transform:translateY(-1px)}.person-email a{color:#3182ce;font-weight:500;text-decoration:none}.person-email a:hover{color:#2c5aa0;text-decoration:underline}.password-reset-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.password-reset-card{background:#fff;border-radius:15px;box-shadow:0 15px 35px #0000001a;max-width:480px;padding:40px;width:100%}.password-reset-card h2{color:#333;font-size:28px;font-weight:600;margin-bottom:30px;text-align:center}.password-reset-form{display:flex;flex-direction:column;gap:20px}.form-group input{font-size:16px}.form-group input:disabled{background-color:#f8f9fa;cursor:not-allowed}.form-group small{color:#666;font-size:12px;font-style:italic}.reset-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:14px 24px;transition:all .3s ease}.reset-button:hover:not(:disabled){box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}.reset-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.back-button{background:#0000;border:2px solid #e1e5e9;border-radius:8px;color:#666;cursor:pointer;font-size:14px;font-weight:500;margin-top:10px;padding:12px 24px;transition:all .3s ease}.back-button:hover:not(:disabled){border-color:#667eea;color:#667eea}.back-button:disabled{cursor:not-allowed;opacity:.6}.form-links{border-top:1px solid #e1e5e9;display:flex;justify-content:space-between;margin-top:30px;padding-top:20px}.form-links a{color:#667eea;font-size:14px;font-weight:500;text-decoration:none;transition:all .3s ease}.form-links a:hover{color:#764ba2;text-decoration:underline}@media (max-width:480px){.password-reset-container{padding:10px}.password-reset-card{padding:30px 20px}.form-links{flex-direction:column;gap:10px;text-align:center}}.two-factor-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.two-factor-card{background:#fff;border-radius:15px;box-shadow:0 15px 35px #0000001a;max-width:600px;padding:40px;width:100%}.two-factor-card h2{color:#333;font-size:28px;font-weight:600;margin-bottom:30px;text-align:center}.status-indicator{border-radius:8px;font-weight:600;margin-bottom:20px;padding:15px 20px;text-align:center}.status-indicator.enabled{background-color:#d4edda;border-left:4px solid #28a745;color:#155724}.status-indicator.disabled{background-color:#fff3cd;border-left:4px solid #ffc107;color:#856404}.continue-button,.setup-button,.verify-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:20px;padding:14px 24px;transition:all .3s ease;width:100%}.continue-button:hover:not(:disabled),.setup-button:hover:not(:disabled),.verify-button:hover:not(:disabled){box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}.secondary-button{background:#0000;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;font-size:14px;font-weight:500;margin-right:10px;padding:12px 24px;transition:all .3s ease}.secondary-button:hover:not(:disabled){background-color:#667eea;color:#fff}.danger-button{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .3s ease}.danger-button:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.qr-code-container{display:flex;justify-content:center;margin:30px 0;padding:20px}.qr-code-container,.secret-key{background-color:#f8f9fa;border-radius:8px}.secret-key{margin:20px 0;padding:15px;text-align:center}.secret-key code{background-color:#e9ecef;border-radius:4px;font-family:Courier New,monospace;font-size:14px;padding:8px 12px;word-break:break-all}.verification-form{margin-top:30px}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.form-group label{color:#555;font-size:14px;font-weight:500}.form-group input{border:2px solid #e1e5e9;border-radius:8px;font-family:Courier New,monospace;font-size:18px;letter-spacing:2px;padding:12px 16px;text-align:center;transition:all .3s ease}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.backup-codes{background-color:#f8f9fa;border-radius:8px;margin:20px 0;padding:20px}.backup-codes h3,.backup-codes h4{color:#333;margin-bottom:15px}.codes-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:15px}.backup-code{background-color:#e9ecef;border-radius:4px;display:block;font-family:Courier New,monospace;font-size:14px;padding:8px 12px;text-align:center}.action-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.complete-step{text-align:center}.success-icon{font-size:48px;margin-bottom:20px}.complete-step h3{color:#28a745;margin-bottom:15px}.success-message{background-color:#d4edda;border-left:4px solid #28a745;color:#155724}.error-message,.success-message{border-radius:8px;font-size:14px;margin-top:20px;padding:12px 16px}.error-message{background-color:#f8d7da;border-left:4px solid #dc3545;color:#721c24}.login-link{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:inline-block;font-weight:600;margin-top:20px;padding:14px 24px;text-decoration:none;transition:all .3s ease}.login-link:hover{box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}@media (max-width:768px){.two-factor-container{padding:10px}.two-factor-card{padding:30px 20px}.codes-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.action-buttons{flex-direction:column}.secondary-button{margin-bottom:10px;margin-right:0}}.confirmation-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.confirmation-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;max-width:400px;padding:30px;width:90%}.confirmation-dialog h3{color:#dc3545;font-size:18px;margin:0 0 15px}.confirmation-dialog p{color:#666;line-height:1.5;margin:0 0 25px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end}.dialog-actions .danger-button,.dialog-actions .secondary-button{font-size:14px;margin:0;padding:10px 20px}.ai-search-container{margin:0 auto;max-width:1000px;padding:30px 20px}.back-link{color:#6366f1;display:inline-block;font-size:.95rem;margin-bottom:15px;text-decoration:none;transition:all .2s ease}.back-link:hover{color:#4f46e5;text-decoration:underline}.ai-search-header{margin-bottom:30px;text-align:center}.ai-search-header h1{color:#1a1a2e;font-family:Space Grotesk,-apple-system,sans-serif;font-size:2.2rem;margin-bottom:10px}.ai-search-header .subtitle{color:#6b7280;font-size:1.1rem;margin-bottom:15px}.ai-status{border-radius:20px;display:inline-block;font-size:.9rem;font-weight:500;padding:8px 16px}.ai-status.available{background:linear-gradient(135deg,#059669,#10b981);color:#fff}.ai-status.limited{background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff}.university-selector{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:20px 0}.uni-btn{background:#0000;border:2px solid;border-radius:25px;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 20px;transition:all .3s ease}.uni-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.uni-btn.active{box-shadow:0 4px 15px #0003;transform:translateY(-2px)}.uni-btn:focus{box-shadow:0 0 0 3px #6366f14d;outline:none}.ai-search-form{margin-bottom:25px}.ai-year-filter{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;padding:10px 16px}.ai-year-label{color:#4a5568;font-size:13px;font-weight:600;white-space:nowrap}.ai-year-inputs{align-items:center;display:flex;gap:6px}.ai-year-input{background:#fff;border:1px solid #cbd5e0;border-radius:6px;font-size:13px;padding:6px 10px;text-align:center;transition:all .2s ease;width:80px}.ai-year-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126;outline:none}.ai-year-input::placeholder,.ai-year-sep{color:#a0aec0}.ai-year-presets{display:flex;flex-wrap:wrap;gap:4px}.ai-year-presets button{background:#fff;border:1px solid #cbd5e0;border-radius:5px;color:#4a5568;cursor:pointer;font-size:11px;font-weight:500;padding:4px 10px;transition:all .2s ease}.ai-year-presets button:hover{background:#6366f1;border-color:#6366f1;color:#fff}.ai-year-clear{background:#fff5f5!important;border-color:#fed7d7!important;color:#e53e3e!important}.ai-year-clear:hover{background:#e53e3e!important;border-color:#e53e3e!important;color:#fff!important}.search-input-wrapper{background:#fff;border:2px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:12px;padding:20px;transition:all .3s ease}.search-input-wrapper:focus-within{border-color:#6366f1;box-shadow:0 4px 25px #6366f126}.search-input-wrapper textarea{border:none;color:#1a1a2e;font-family:inherit;font-size:1.1rem;line-height:1.6;outline:none;resize:none;width:100%}.search-input-wrapper textarea::placeholder{color:#9ca3af}.search-input-wrapper button{align-items:center;align-self:flex-end;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 28px;transition:all .3s ease}.search-input-wrapper button:hover:not(:disabled){box-shadow:0 4px 15px #6366f166;transform:translateY(-2px)}.search-input-wrapper button:disabled{cursor:not-allowed;opacity:.6}.suggestions{margin-bottom:25px}.suggestions-label{color:#6b7280;font-size:.95rem;margin-bottom:12px}.suggestion-chips{display:flex;flex-wrap:wrap;gap:10px}.suggestion-chip{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;color:#4b5563;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .2s ease}.suggestion-chip:hover{background:#e5e7eb;color:#1f2937;transform:translateY(-1px)}.ai-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;margin-bottom:20px;padding:15px 20px}.ai-loading{padding:40px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#6366f1;height:50px;margin:0 auto 20px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.ai-loading p{color:#4b5563;font-size:1.1rem;margin-bottom:5px}.ai-loading .loading-detail{color:#9ca3af;font-size:.9rem}.ai-answer-section{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-answer{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #86efac;border-radius:16px;margin-bottom:25px;padding:25px}.ai-answer h3{color:#166534;font-size:1.2rem;margin-bottom:15px}.answer-content p{color:#1f2937;line-height:1.8;margin-bottom:12px}.answer-content p:last-child{margin-bottom:0}.markdown-content{font-size:1rem}.markdown-content h1,.markdown-content h2,.markdown-content h3{color:#166534;margin-bottom:12px;margin-top:20px}.markdown-content h1{font-size:1.4rem}.markdown-content h2{font-size:1.25rem}.markdown-content h3{font-size:1.1rem}.markdown-content .highlight{background:linear-gradient(120deg,#d1fae5,#a7f3d0);border-radius:3px;color:#065f46;padding:1px 4px}.markdown-content a{color:#059669;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted}.markdown-content a:hover{color:#047857;-webkit-text-decoration-style:solid;text-decoration-style:solid}.answer-list{margin:12px 0;padding-left:24px}.answer-list-item{color:#374151;line-height:1.6;margin-bottom:8px}.answer-list-item::marker{color:#059669}.markdown-content blockquote{background:#ecfdf5;border-left:4px solid #10b981;border-radius:0 8px 8px 0;font-style:italic;margin:16px 0;padding:12px 16px}.markdown-content code{background:#f3f4f6;border-radius:4px;color:#374151;font-size:.9em;padding:2px 6px}.markdown-content hr{background:linear-gradient(90deg,#d1fae5,#a7f3d0 50%,#d1fae5);border:none;height:2px;margin:20px 0}.relevant-profiles{margin-bottom:30px}.relevant-profiles h3{color:#1a1a2e;font-size:1.2rem;margin-bottom:20px}.profiles-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.profile-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .3s ease}.profile-card:hover{box-shadow:0 4px 15px #00000014;transform:translateY(-2px)}.profile-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.profile-header h4{color:#1a1a2e;flex:1 1;font-size:1.05rem;margin:0}.relevance-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 10px;white-space:nowrap}.profile-orcid{margin-bottom:10px}.profile-orcid a{color:#6366f1;font-size:.9rem;text-decoration:none}.profile-orcid a:hover{text-decoration:underline}.profile-bio{color:#6b7280;font-size:.9rem;line-height:1.5;margin-bottom:12px}.profile-works{color:#4b5563;font-size:.85rem}.profile-works strong{color:#374151;display:block;margin-bottom:6px}.profile-works ul{margin:0;padding-left:18px}.profile-works li{line-height:1.4;margin-bottom:4px}.profile-works li span{color:#9ca3af}.search-history{background:#f9fafb;border-radius:12px;margin-bottom:30px;padding:20px}.search-history h3{color:#4b5563;font-size:1rem;margin-bottom:15px}.search-history ul{list-style:none;margin:0;padding:0}.search-history li{margin-bottom:8px}.history-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:10px 15px;text-align:left;transition:all .2s ease;width:100%}.history-item:hover{background:#f3f4f6;border-color:#d1d5db}.history-question{color:#1f2937;font-size:.95rem}.history-time{color:#9ca3af;font-size:.8rem}.how-it-works{background:linear-gradient(135deg,#eff6ff,#eef2ff);border:1px solid #c7d2fe;border-radius:16px;padding:25px}.how-it-works h3{color:#3730a3;font-size:1.1rem;margin-bottom:20px}.how-it-works-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.step{display:flex;gap:12px}.step-icon{flex-shrink:0;font-size:1.5rem}.step strong{color:#1e3a8a;display:block;margin-bottom:4px}.step p{color:#4b5563;font-size:.9rem;line-height:1.5;margin:0}.example-questions{border-top:1px solid #c7d2fe;margin-top:20px;padding-top:20px}.example-questions p{color:#3730a3;margin-bottom:10px}.example-questions ul{margin:0;padding-left:20px}.example-questions li{color:#4b5563;font-size:.9rem;font-style:italic;margin-bottom:6px}.login-prompt{background:#f9fafb;border-radius:16px;padding:60px 20px;text-align:center}.login-prompt h2{color:#1a1a2e;margin-bottom:10px}.login-prompt p{color:#6b7280}@media (max-width:768px){.ai-search-header h1{font-size:1.8rem}.search-input-wrapper{padding:15px}.search-input-wrapper button{justify-content:center;width:100%}.how-it-works-content,.profiles-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=main.641578cd.css.map*/