:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:16px;line-height:1.5}body{margin:0;padding:0}#root{width:100%;margin:0 auto}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}code{font-family:Monaco,Courier New,monospace}*{box-sizing:border-box}.app{background-color:#f5f5f5;flex-direction:column;min-height:100vh;display:flex}.header{color:#fff;text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:40px 20px;box-shadow:0 2px 8px #0000001a}.header h1{margin:0;font-size:2.5em;font-weight:700}.header p{opacity:.95;margin:8px 0 0;font-size:1.1em}.main{flex:1;gap:24px;width:100%;max-width:1400px;margin:0 auto;padding:24px;display:flex}@media (width<=768px){.main{flex-direction:column;gap:16px;padding:16px}}.sidebar{flex-shrink:0;width:280px}@media (width<=768px){.sidebar{width:100%}}.filter-panel{background:#fff;border-radius:8px;padding:24px;position:sticky;top:24px;box-shadow:0 1px 3px #0000001a}.filter-panel h2{color:#333;margin:0 0 20px;font-size:1.3em}.filter-group{margin-bottom:20px}.filter-group label{color:#555;margin-bottom:8px;font-size:.95em;font-weight:600;display:block}.filter-group select,.search-input{border:1px solid #ddd;border-radius:6px;width:100%;padding:10px;font-family:inherit;font-size:.95em;transition:border-color .2s}.filter-group select:hover,.search-input:hover{border-color:#999}.filter-group select:focus,.search-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 2px #667eea1a}.school-suggestions{z-index:10;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 6px 6px;width:calc(100% - 32px);max-height:150px;margin-top:-8px;position:absolute;overflow-y:auto}.suggestion{cursor:pointer;color:#555;padding:8px 12px;font-size:.9em}.suggestion:hover{background:#f0f0f0}.results{flex:1;min-width:0}.results-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.results-header h2{color:#333;margin:0;font-size:1.3em}.no-results{text-align:center;color:#999;padding:40px 20px;font-size:1.1em}.faculty-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}@media (width<=768px){.faculty-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (width<=480px){.faculty-grid{grid-template-columns:1fr}}.faculty-card{background:#fff;border-radius:8px;flex-direction:column;padding:20px;transition:box-shadow .3s,transform .3s;display:flex;box-shadow:0 1px 3px #0000001a}.faculty-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.card-header{justify-content:space-between;align-items:start;gap:8px;margin-bottom:12px;display:flex}.card-header h3{color:#333;flex:1;margin:0;font-size:1.1em}.status-badge{color:#fff;text-transform:uppercase;white-space:nowrap;border-radius:12px;flex-shrink:0;padding:4px 10px;font-size:.75em;font-weight:600;display:inline-block}.title{color:#666;margin:0 0 8px;font-size:.95em;font-weight:500}.school{color:#999;margin:0 0 12px;font-size:.9em}.areas{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.area-tag{color:#555;background:#f0f0f0;border-radius:12px;padding:4px 10px;font-size:.85em;display:inline-block}.links{gap:10px;margin:12px 0;display:flex}.links a{color:#555;white-space:nowrap;background:#f5f5f5;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:.85em;text-decoration:none;transition:background .2s;display:inline-flex}.links a:hover{background:#e0e0e0}.note{color:#999;border-top:1px solid #f0f0f0;margin:12px 0 0;padding-top:12px;font-size:.85em;font-style:italic}.loading{color:#999;justify-content:center;align-items:center;min-height:100vh;font-size:1.2em;display:flex}.error{color:#e74c3c;justify-content:center;align-items:center;min-height:100vh;font-size:1.2em;display:flex}.report-btn{color:#5a4fcf;cursor:pointer;background:#ffffffeb;border:none;border-radius:24px;margin-top:16px;padding:10px 22px;font-family:inherit;font-size:.95em;font-weight:600;transition:transform .15s,box-shadow .15s}.report-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.area-checkboxes{border:1px solid #eee;border-radius:6px;flex-direction:column;gap:2px;max-height:280px;padding:6px;display:flex;overflow-y:auto}.area-checkbox{cursor:pointer;color:#555;border-radius:5px;align-items:center;gap:8px;padding:5px 8px;font-size:.88em;display:flex}.area-checkbox:hover{background:#f5f5f7}.area-checkbox.disabled{opacity:.45;cursor:default}.area-checkbox input{accent-color:#667eea;cursor:pointer;margin:0}.area-name{flex:1}.area-count{color:#aaa;font-size:.85em}.filter-hint{color:#999;margin-top:8px;font-size:.78em;line-height:1.45}.results-total{color:#999;font-size:.85em;font-weight:400}.active-filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.filter-chip{color:#4a54c4;cursor:pointer;background:#eef0fd;border:1px solid #d4d9f7;border-radius:16px;padding:5px 12px;font-family:inherit;font-size:.85em;transition:background .15s}.filter-chip:hover{background:#dfe3fb}.clear-filters{color:#777;cursor:pointer;background:#fafafa;border:1px solid #ddd;border-radius:6px;width:100%;padding:8px;font-family:inherit;font-size:.9em}.clear-filters:hover{color:#333;background:#f0f0f0}.load-more-wrap{text-align:center;margin:28px 0 8px}.load-more{color:#667eea;cursor:pointer;background:#fff;border:1px solid #667eea;border-radius:24px;padding:12px 32px;font-family:inherit;font-size:1em;font-weight:600;transition:background .2s,color .2s}.load-more:hover{color:#fff;background:#667eea}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:90vh;padding:28px;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-header h2{color:#333;margin:0;font-size:1.3em}.modal-close{color:#999;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1.6em;line-height:1}.modal-close:hover{color:#333}.modal-desc{color:#666;margin-bottom:20px;font-size:.92em;line-height:1.5}.form-group{margin-bottom:14px}.form-group label{color:#555;margin-bottom:6px;font-size:.9em;font-weight:600;display:block}.required{color:#e74c3c}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:6px;width:100%;padding:10px;font-family:inherit;font-size:.95em}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 2px #667eea1a}.submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;width:100%;margin-top:8px;padding:12px;font-family:inherit;font-size:1em;font-weight:600}.submit-btn:hover{opacity:.92}.form-hint{color:#999;text-align:center;margin-top:12px;font-size:.82em;line-height:1.5}.missing-section{width:100%;max-width:1400px;margin:0 auto;padding:8px 24px 32px}.missing-section h2{color:#555;margin-bottom:8px;font-size:1.2em}.missing-desc{color:#888;margin-bottom:12px;font-size:.92em}.missing-details{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 3px #00000014}.missing-details summary{cursor:pointer;color:#667eea;font-size:.95em;font-weight:600}.missing-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin-top:16px;display:grid}.missing-country h3{color:#555;margin:0 0 8px;font-size:.95em}.missing-country ul{margin:0;padding-left:18px}.missing-country li{color:#777;margin-bottom:4px;font-size:.88em}.missing-country a{color:#667eea}.missing-country a:hover{text-decoration:underline}.footer{text-align:center;color:#999;background:#fff;border-top:1px solid #eee;margin-top:auto;padding:32px 24px;font-size:.9em}.disclaimer{color:#8a6d1a;background:#fff8e6;border:1px solid #f5e0a3;border-radius:8px;max-width:720px;padding:12px 16px;line-height:1.6;margin:0 auto 16px!important}.footer-report{color:#667eea;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:1em}.footer-report:hover{text-decoration:underline}.footer p{margin:8px 0}.footer a{color:#667eea;text-decoration:none}.footer a:hover{text-decoration:underline}
