*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333;line-height:1.6}.app{max-width:800px;margin:0 auto;padding:20px}.header{text-align:center;margin-bottom:30px}.header h1{font-size:1.8rem;margin-bottom:15px;color:#1a1a1a}.tabs{display:flex;gap:10px;justify-content:center}.tabs button{padding:10px 25px;border:none;background:#e0e0e0;border-radius:8px;cursor:pointer;font-size:1rem;transition:background .2s}.tabs button:hover{background:#d0d0d0}.tabs button.active{background:#4a90d9;color:#fff}.main{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 10px #00000014}.user-context{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #eee}.user-context h3{margin-bottom:12px;font-size:1rem;color:#666}.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.context-grid input{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:.95rem}.search-box form{display:flex;gap:10px}.search-box input{flex:1;padding:12px 15px;border:1px solid #ddd;border-radius:8px;font-size:1rem}.search-box button{padding:12px 25px;background:#4a90d9;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem}.search-box button:disabled{background:#ccc;cursor:not-allowed}.error{color:#d32f2f;margin-top:10px;font-size:.9rem}.results-list{margin-top:25px}.results-list h2{margin-bottom:15px}.result-card{background:#fafafa;padding:15px;border-radius:8px;margin-bottom:12px;border:1px solid #eee}.result-header{display:flex;align-items:center;gap:10px;margin-bottom:5px}.result-header h3{flex:1;font-size:1.1rem}.rank{background:#4a90d9;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700}.fit-score{padding:4px 10px;border-radius:15px;font-size:.85rem;font-weight:600}.score-high{background:#e8f5e9;color:#2e7d32}.score-medium{background:#fff3e0;color:#ef6c00}.score-low{background:#ffebee;color:#c62828}.institution{font-weight:500;color:#555}.research-areas{font-size:.9rem;color:#777;margin-bottom:10px}.result-stats{display:flex;gap:15px;font-size:.85rem;color:#666;margin-bottom:12px}.result-actions{display:flex;gap:10px}.result-actions button{padding:8px 15px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;background:#4a90d9;color:#fff}.result-actions button.secondary{background:#e0e0e0;color:#333}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:#fff;padding:25px;border-radius:12px;max-width:600px;width:100%;max-height:80vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:10px;right:15px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999}.modal h2{margin-bottom:5px}.modal-subtitle{color:#666;margin-bottom:20px}.generate-section{text-align:center;padding:30px 0}.generate-section p{margin-bottom:15px;color:#666}.generate-section button{padding:12px 30px;background:#4a90d9;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem}.loading{text-align:center;padding:30px;color:#666}.email-content pre{white-space:pre-wrap;font-family:inherit;background:#f5f5f5;padding:15px;border-radius:8px;margin-bottom:15px;font-size:.95rem;line-height:1.7}.email-actions{display:flex;gap:10px}.email-actions button{flex:1;padding:10px;border:none;border-radius:6px;cursor:pointer;background:#4a90d9;color:#fff}.email-actions button.secondary{background:#e0e0e0;color:#333}.success{text-align:center;color:#2e7d32;padding:15px;font-weight:500}.tracker h2{margin-bottom:20px}.empty-state{text-align:center;padding:40px;color:#666}.contacts-table{width:100%;border-collapse:collapse}.contacts-table th,.contacts-table td{text-align:left;padding:12px 10px;border-bottom:1px solid #eee}.contacts-table th{font-weight:600;color:#666;font-size:.85rem;text-transform:uppercase}.contacts-table select{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.contacts-table .delete{padding:6px 12px;background:#ffebee;color:#c62828;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}
